توضّح هذه الصفحة كيفية إدراج اشتراكات Google Workspace باستخدام طريقة
subscriptions.list()
.
عند استدعاء هذا الإجراء مع مصادقة المستخدم، يعرض الإجراء قائمة بالاشتراكات التي أذِن بها المستخدم. عند استخدام ميزة "مصادقة التطبيق"، يمكن أن تعرض الطريقة قائمة تتضمّن أي اشتراك في التطبيق.
المتطلبات الأساسية
برمجة التطبيقات
- اشتراك في Google Workspace لإنشاء اشتراك، يُرجى الاطّلاع على إنشاء اشتراك.
يتطلّب ذلك مصادقة المستخدم باستخدام نطاق واحد أو أكثر يتوافق مع جميع أنواع الأحداث للاشتراك.
- مشروع "برمجة تطبيقات Google":
- استخدِم مشروعك على Google Cloud بدلاً من المشروع التلقائي الذي يتم إنشاؤه تلقائيًا بواسطة Apps Script.
- بالنسبة إلى جميع النطاقات التي أضفتها لإعداد شاشة موافقة OAuth، عليك أيضًا إضافة النطاقات إلى ملف
appsscript.json
في مشروع "برمجة تطبيقات Google". على سبيل المثال، إذا حدّدت النطاقchat.messages
، أضِف ما يلي: - فعِّل
خدمة
Google Workspace Events
المتقدّمة.
"oauthScopes": [ "https://www.googleapis.com/auth/chat.messages" ]
Python
- الإصدار 3.6 أو الإصدارات الأحدث من Python
- أداة إدارة الحزم pip
- أحدث مكتبات برامج Google للغة Python لتثبيتها أو تعديلها، نفِّذ الأمر التالي
في واجهة سطر الأوامر:
pip3 install --upgrade google-api-python-client google-auth-oauthlib
- اشتراك في Google Workspace لإنشاء اشتراك، يُرجى الاطّلاع على إنشاء اشتراك.
يتطلّب المصادقة:
- لإثبات هوية المستخدم، يجب توفير نطاق يتوافق مع نوع واحد على الأقل من أنواع الأحداث الخاصة بالاشتراك. لتحديد نطاق، اطّلِع على النطاقات حسب نوع الحدث.
- للمصادقة على التطبيق، يجب استخدام النطاق
chat.bot
(تطبيقات Google Chat فقط).
عرض الاشتراكات التي أذِن بها مستخدم
لعرض الاشتراكات، يجب الفلترة حسب نوع حدث واحد على الأقل. يمكنك أيضًا فلترة طلب البحث حسب مصدر مستهدف واحد أو أكثر. للاطّلاع على معلومات حول فلاتر طلب البحث المتوافقة، راجِع مستندات طريقة list()
.
يعرض نموذج الرمز التالي مصفوفة من عناصر
Subscription
تمت فلترتها حسب نوع الحدث والمورد المستهدف. عند المصادقة كمستخدم، لا تعرض الطريقة سوى قائمة بالاشتراكات التي سمح المستخدم للتطبيق بإنشائها.
لعرض الاشتراكات لنوع حدث ومورد مستهدف محدّدين:
برمجة التطبيقات
في مشروع "برمجة تطبيقات Google"، أنشئ ملف نص برمجي جديدًا باسم
listSubscriptions
وأضِف الرمز التالي:function listSubscriptions() { // Filter for event type (required). const eventType = 'EVENT_TYPE'; // Filter for target resource (optional). const targetResource = 'TARGET_RESOURCE'; const filter = `event_types:"${eventType}" AND target_resource="${targetResource}"` // Call the Workspace Events API using the advanced service. const response = WorkspaceEvents.Subscriptions.list({ filter }); console.log(response); }
غيِّر القيم في السلسلة على الشكل التالي:
-
EVENT_TYPE
: نوع حدث منسَّق وفقًا لمواصفات CloudEvents. على سبيل المثال، لفلترة الاشتراكات التي تتلقّى أحداثًا حول العضويات الجديدة في مساحة Google Chat،google.workspace.chat.message.v1.created
. TARGET_RESOURCE
: مورد مستهدف، منسَّق كاسم المورد الكامل. على سبيل المثال، لفلترة الاشتراكات في مساحة Google Chat، استخدِم//chat.googleapis.com/spaces/SPACE_ID
حيث يمثّلspaces/SPACE_ID
الحقلname
الخاص بموردSpace
.
-
لعرض قائمة بالاشتراكات، شغِّل الدالة
listSubscriptions
في مشروع "برمجة تطبيقات Google".
Python
في دليل العمل، أنشئ ملفًا باسم
list_subscriptions.py
وأضِف الرمز التالي:"""List subscriptions.""" 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, ) # Filter for event type (required). EVENT_TYPE = 'EVENT_TYPE' # Filter for target resource (optional). TARGET_RESOURCE = 'TARGET_RESOURCE' FILTER = f'event_types:"{EVENT_TYPE}" AND target_resource="{TARGET_RESOURCE}"' response = service.subscriptions().list(filter=FILTER).execute() print(response)
غيِّر القيم في السلسلة على الشكل التالي:
SCOPE
: نطاق OAuth يتوافق مع نوع حدث واحد على الأقل من الاشتراك على سبيل المثال، إذا كان اشتراكك يتلقّى أحداثًا في مساحة Chat معدَّلة،https://www.googleapis.com/auth/chat.spaces.readonly
.-
EVENT_TYPE
: نوع حدث منسَّق وفقًا لمواصفات CloudEvents. على سبيل المثال، لفلترة الاشتراكات التي تتلقّى أحداثًا حول العضويات الجديدة في مساحة Google Chat،google.workspace.chat.message.v1.created
. TARGET_RESOURCE
: مورد مستهدف، منسَّق كاسم المورد الكامل. على سبيل المثال، لفلترة الاشتراكات في مساحة Google Chat، استخدِم//chat.googleapis.com/spaces/SPACE_ID
حيث يمثّلspaces/SPACE_ID
الحقلname
الخاص بموردSpace
.
في دليل العمل، تأكَّد من تخزين بيانات اعتماد معرّف عميل OAuth وتسمية الملف
credentials.json
. يستخدم نموذج الرمز ملف JSON هذا للمصادقة مع Google Workspace والحصول على بيانات اعتماد المستخدم. للاطّلاع على التعليمات، راجِع مقالة إنشاء بيانات اعتماد معرّف عميل OAuth.لعرض قائمة بالاشتراكات، نفِّذ الأمر التالي في الوحدة الطرفية:
python3 list_subscriptions.py
تعرض Google Workspace Events API مصفوفة مقسَّمة إلى صفحات من Subscription
عناصر تتطابق مع فلتر طلب البحث.