این صفحه نحوه دریافت جزئیات مربوط به اشتراک Google Workspace را با استفاده از متد subscriptions.get() توضیح میدهد.
وقتی این متد را با احراز هویت کاربر فراخوانی میکنید، متد جزئیات مربوط به اشتراک مجاز شده توسط کاربر را برمیگرداند. وقتی از احراز هویت برنامه استفاده میکنید، متد میتواند جزئیات مربوط به هر اشتراکی را برای برنامه برگرداند.
پیشنیازها
اسکریپت برنامهها
- اشتراک Google Workspace. برای ایجاد آن، به «ایجاد اشتراک» مراجعه کنید.
- یک پروژه اسکریپت برنامهها:
- به جای پروژه پیشفرضی که به طور خودکار توسط Apps Script ایجاد شده است، از پروژه Google Cloud خود استفاده کنید.
- برای تمام محدودههایی که برای پیکربندی صفحه رضایت OAuth اضافه کردهاید، باید محدودهها را به فایل
appsscript.jsonدر پروژه Apps Script خود نیز اضافه کنید. برای مثال، اگر محدودهchat.messagesرا مشخص کردهاید، موارد زیر را اضافه کنید: - سرویس پیشرفته
Google Workspace Eventsرا فعال کنید .
"oauthScopes": [ "https://www.googleapis.com/auth/chat.messages" ]
برای هر نوع رویداد در اشتراک، احراز هویت و محدوده مجوز مناسب لازم است:
- برای احراز هویت کاربر، به محدودهای نیاز است که حداقل از یکی از انواع رویدادهای اشتراک پشتیبانی کند. برای شناسایی یک محدوده، به بخش محدودهها بر اساس نوع رویداد مراجعه کنید.
- برای احراز هویت برنامه، به دامنه
chat.botنیاز است (فقط برنامههای Google Chat).
پایتون
- پایتون ۳.۶ یا بالاتر
- ابزار مدیریت بسته pip
- جدیدترین کتابخانههای کلاینت گوگل برای پایتون. برای نصب یا بهروزرسانی آنها، دستور زیر را در رابط خط فرمان خود اجرا کنید:
pip3 install --upgrade google-api-python-client google-auth-oauthlib
- اشتراک Google Workspace. برای ایجاد آن، به «ایجاد اشتراک» مراجعه کنید.
برای هر نوع رویداد در اشتراک، احراز هویت و محدوده مجوز مناسب لازم است:
- برای احراز هویت کاربر، به محدودهای نیاز است که حداقل از یکی از انواع رویدادهای اشتراک پشتیبانی کند. برای شناسایی یک محدوده، به بخش محدودهها بر اساس نوع رویداد مراجعه کنید.
- برای احراز هویت برنامه، به دامنه
chat.botنیاز است (فقط برنامههای Google Chat).
دریافت اشتراک مجاز توسط یک کاربر
نمونه کد زیر جزئیاتی در مورد منبع Subscription با استفاده از احراز هویت کاربر دریافت میکند. هنگامی که به عنوان کاربر احراز هویت میشود، این متد، Subscription ای را که کاربر به برنامه اجازه ایجاد آن را داده است، برمیگرداند.
برای دریافت مجوز اشتراک توسط کاربر:
اسکریپت برنامهها
در پروژه Apps Script خود، یک فایل اسکریپت جدید با نام
getSubscriptionایجاد کنید و کد زیر را به آن اضافه کنید:function getSubscription() { // The name of the subscription to get. const name = 'subscriptions/SUBSCRIPTION_ID'; // Call the Workspace Events API using the advanced service. const subscription = WorkspaceEvents.Subscriptions.get(name); console.log(subscription); }موارد زیر را جایگزین کنید:
برای دریافت اشتراک، تابع
getSubscriptionرا در پروژه Apps Script خود اجرا کنید.
پایتون
در دایرکتوری کاری خود، فایلی با نام
get_subscription.pyایجاد کنید و کد زیر را به آن اضافه کنید:"""Get subscription.""" from google_auth_oauthlib.flow import InstalledAppFlow from googleapiclient.discovery import build # Specify required scopes. SCOPES = ['SCOPE'] # Authenticate with Google Workspace and get user authentication. flow = InstalledAppFlow.from_client_secrets_file('credentials.json', SCOPES) CREDENTIALS = flow.run_local_server() # Call the Workspace Events API using the service endpoint. service = build( 'workspaceevents', 'v1', credentials=CREDENTIALS, ) NAME = 'subscriptions/SUBSCRIPTION_ID' subscription = service.subscriptions().get(name=NAME).execute() print(subscription)موارد زیر را جایگزین کنید:
-
SCOPE: یک محدوده OAuth که حداقل از یک نوع رویداد از اشتراک پشتیبانی میکند . برای مثال، اگر اشتراک شما رویدادهایی را دریافت میکند که یک فضای چت بهروزرسانی شده است،https://www.googleapis.com/auth/chat.spaces.readonly. -
SUBSCRIPTION_ID: شناسه اشتراک. برای دریافت شناسه، میتوانید از هر یک از موارد زیر استفاده کنید:
-
در دایرکتوری کاری خود، مطمئن شوید که اعتبارنامههای شناسه کلاینت OAuth خود را ذخیره کرده و فایل را با نام
credentials.jsonنامگذاری کردهاید. نمونه کد از این فایل JSON برای احراز هویت با Google Workspace و دریافت اعتبارنامههای کاربر استفاده میکند. برای دستورالعملها، به Create OAuth client ID credentials مراجعه کنید.برای دریافت اشتراک، دستور زیر را در ترمینال خود اجرا کنید:
python3 get_subscription.py