توضّح هذه الصفحة كيفية إدراج اشتراكات Google Workspace باستخدام الطريقة
subscriptions.list()
.
عند استدعاء هذه الطريقة مع مصادقة المستخدم، تعرض الطريقة قائمة بالاشتراكات المعتمدة من قبل المستخدم. عند استخدام مصادقة التطبيقات، يمكن أن تعرض الطريقة قائمة تحتوي على أي اشتراك للتطبيق.
المتطلبات الأساسية
برمجة تطبيقات
- اشتراك Google Workspace: لإنشاء اشتراك، راجِع إنشاء اشتراك.
يتطلب ذلك مصادقة المستخدم باستخدام نطاق واحد أو أكثر متوافق مع جميع أنواع الأحداث للاشتراك.
- مشروع "برمجة تطبيقات Google":
- يمكنك استخدام مشروعك على Google Cloud بدلاً من المشروع التلقائي الذي يتم إنشاؤه تلقائيًا من خلال "برمجة التطبيقات".
- بالنسبة إلى أي نطاقات أضفتها لإعداد شاشة طلب الموافقة المتعلّقة ببروتوكول OAuth، عليك أيضًا إضافة
النطاقات إلى ملف
appsscript.json
في مشروع "برمجة تطبيقات Google". مثال:
"oauthScopes": [ "https://www.googleapis.com/auth/chat.messages.readonly" ]
- تفعيل
خدمة
Google Workspace Events
المتقدّمة
Python
- Python 3.6 أو أحدث
- أداة إدارة الحزمة pip
- أحدث مكتبات عملاء Google للغة Python. لتثبيتها أو تحديثها، شغِّل الأمر التالي في واجهة سطر الأوامر:
pip3 install --upgrade google-api-python-client google-auth-oauthlib
- اشتراك Google Workspace: لإنشاء اشتراك، راجِع إنشاء اشتراك.
تتطلب المصادقة:
- تتطلب مصادقة المستخدم نطاقًا يتيح نوعًا واحدًا على الأقل من أنواع الأحداث للاشتراك. لتحديد نطاق، يُرجى الاطّلاع على النطاقات حسب نوع الحدث.
- تتطلب مصادقة التطبيقات نطاق
chat.bot
(تطبيقات Google Chat فقط).
إدراج الاشتراكات التي سمح بها المستخدم
لإدراج الاشتراكات، عليك الفلترة حسب نوع حدث واحد على الأقل. يمكنك أيضًا فلترة استعلامك حسب مورد مستهدف واحد أو أكثر لمزيد من المعلومات حول فلاتر طلبات البحث المتوافقة، يُرجى الاطّلاع على مستندات طريقة list()
.
يعرض نموذج الرمز البرمجي التالي مصفوفة من عناصر
Subscription
التي تتم فلترتها حسب نوع الحدث والمورد المستهدف. عند المصادقة كمستخدم، تعرض الطريقة فقط قائمة بالاشتراكات التي سمح المستخدم للتطبيق بإنشائها.
لإدراج الاشتراكات في نوع حدث ومورد هدف محدّدَين:
برمجة تطبيقات
في مشروع برمجة التطبيقات، أنشئ ملف نص برمجي جديدًا باسم
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
: نوع حدث يتم تنسيقه وفقًا لمواصفات CloudEvent. على سبيل المثال، لفلترة الاشتراكات التي تتلقّى أحداثًا عن العضويات الجديدة في مساحة Google Chat،google.workspace.chat.message.v1.created
.TARGET_RESOURCE
: مورد مستهدف، منسق على أنه اسم المورد الكامل له. على سبيل المثال، لفلترة حسب الاشتراكات في مساحة على Google Chat، استخدِم//chat.googleapis.com/spaces/SPACE_ID
حيث يمثّلspaces/SPACE_ID
الحقلname
لموردSpace
.
لإدراج الاشتراكات، شغِّل الدالة
listSubscriptions
في مشروع "برمجة التطبيقات".
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('client_secrets.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
: نوع حدث يتم تنسيقه وفقًا لمواصفات CloudEvent. على سبيل المثال، لفلترة الاشتراكات التي تتلقّى أحداثًا عن العضويات الجديدة في مساحة Google Chat،google.workspace.chat.message.v1.created
.TARGET_RESOURCE
: مورد مستهدف، منسق على أنه اسم المورد الكامل له. على سبيل المثال، لفلترة حسب الاشتراكات في مساحة على Google Chat، استخدِم//chat.googleapis.com/spaces/SPACE_ID
حيث يمثّلspaces/SPACE_ID
الحقلname
لموردSpace
.
في دليل العمل، تأكَّد من حفظ بيانات اعتماد معرِّف عميل OAuth وتسمية الملف
client_secrets.json
. يستخدم نموذج الرمز ملف JSON هذا للمصادقة باستخدام Google Workspace والحصول على بيانات اعتماد المستخدمين. لمعرفة التعليمات، يُرجى الاطّلاع على إنشاء بيانات اعتماد معرِّف عميل OAuth.لإدراج الاشتراكات، عليك تشغيل ما يلي في الوحدة الطرفية:
python3 list_subscriptions.py
تعرض Google Workspace Events API مصفوفة مقسّمة إلى صفحات من Subscription
عناصر تتطابق مع الفلتر الخاص بطلب البحث.