توضّح هذه الصفحة كيفية استخدام Google Workspace Events API لإنشاء اشتراك في مورد Google Workspace. يتيح اشتراك Google Workspace لتطبيقك تلقّي معلومات عن أحداث Google Workspace التي تشير إلى التغييرات في أحد موارد Google Workspace. للتعرّف على أنواع الموارد والأحداث التي تتوافق معها "واجهة برمجة تطبيقات أحداث Google Workspace"، اطّلِع على نظرة عامة على "واجهة برمجة تطبيقات أحداث Google Workspace".
تتضمّن هذه الصفحة الخطوات التالية لإنشاء اشتراك في Google Workspace:
- اضبط إعدادات البيئة.
- أنشئ موضوعًا في Google Cloud Pub/Sub واشترِك فيه. ويمكنك استخدام هذا الموضوع كأحد نقاط النهاية لتلقّي أحداث Google Workspace.
- استخدِم طريقة
create()
في Google Workspace Events API على الموردSubscription
. - اختبِر اشتراكك في Google Workspace للتأكّد من أنّ موضوع Pub/Sub يتلقّى الأحداث التي اشتركت فيها.
- يمكنك اختياريًا ضبط طريقة إرسال الأحداث إلى نقطة نهاية لتطبيقك، كي تتمكّن من معالجة الحدث واتّخاذ إجراء إذا لزم الأمر.
المتطلبات الأساسية
برمجة تطبيقات
- لاستخدام أوامر Google Cloud CLI في هذا الدليل:
- ثبِّت Google Cloud CLI.
- لـ
بدء
gcloud
CLI، شغِّل الرمز البرمجي التالي:
gcloud init
- مشروع على Google Cloud تم تفعيل الفوترة فيه بالنسبة إلى الاشتراكات في Chat، يجب أيضًا تفعيل Chat API في مشروعك على Cloud و ضبط حقول اسم التطبيق وعنوان URL للصورة الرمزية والوصف. لمعرفة التفاصيل، يُرجى الاطّلاع على مقالة إنشاء تطبيق Google Chat.
- تتطلّب مصادقة المستخدم من خلال شاشة طلب الموافقة على OAuth التي تم إعدادها لتطبيقك. عند ضبط شاشة طلب الموافقة، عليك تحديد نطاق لسماح بكل نوع حدث للاشتراك. لضبط شاشة الموافقة وتحديد النطاقات المطلوبة، اطّلِع على اختيار النطاقات.
- مشروع "برمجة تطبيقات Google":
- استخدِم مشروعك على Google Cloud بدلاً من المشروع التلقائي الذي أنشأته برمجة التطبيقات تلقائيًا.
- بالنسبة إلى أي نطاقات أضفتها لضبط شاشة طلب الموافقة على OAuth، عليك أيضًا إضافة نطاقات
إلى ملف
appsscript.json
في مشروعك على Apps Script. مثلاً: - فعِّل
الخدمة المتقدّمة
Google Workspace Events
.
"oauthScopes": [ "https://www.googleapis.com/auth/chat.messages.readonly" ]
Python
- الإصدار 3.6 من Python أو إصدار أحدث
- أداة إدارة الحِزم pip
- أحدث مكتبات عملاء Google للغة Python لتثبيتها أو تحديثها، نفِّذ الأمر التالي
في واجهة سطر الأوامر:
pip3 install --upgrade google-api-python-client google-auth-oauthlib
- لاستخدام أوامر Google Cloud CLI في هذا الدليل:
- ثبِّت Google Cloud CLI.
- لـ
بدء
gcloud
CLI، شغِّل الرمز البرمجي التالي:
gcloud init
- مشروع على Google Cloud تم تفعيل الفوترة فيه بالنسبة إلى الاشتراكات في Chat، يجب أيضًا تفعيل Chat API في مشروعك على Cloud و ضبط حقول اسم التطبيق وعنوان URL للصورة الرمزية والوصف. لمعرفة التفاصيل، يُرجى الاطّلاع على مقالة إنشاء تطبيق Google Chat.
- تتطلّب مصادقة المستخدم من خلال شاشة طلب الموافقة على OAuth التي تم ضبطها لتطبيقك. عند ضبط شاشة طلب الموافقة، عليك تحديد نطاق لسماح بكل نوع حدث للاشتراك. لضبط شاشة الموافقة وتحديد النطاقات المطلوبة، يُرجى الاطّلاع على اختيار النطاقات.
إعداد البيئة
يوضّح القسم التالي كيفية إعداد بيئتك قبل إنشاء اشتراك في Google Workspace.
تفعيل Google Workspace Events API وGoogle Cloud Pub/Sub API
قبل استخدام واجهات برمجة تطبيقات Google، عليك تفعيلها في مشروع على Google Cloud. يمكنك تفعيل واجهة برمجة تطبيقات واحدة أو أكثر في مشروع واحد على Google Cloud.Google Cloud Console
في وحدة تحكّم Google Cloud، افتح مشروع Google Cloud لتطبيقك وفعِّل واجهتَي برمجة التطبيقات Google Workspace Events API وPub/Sub API:
gcloud
في دليل العمل، سجِّل الدخول إلى حسابك على Google:
gcloud auth login
اضبط مشروعك على مشروع Cloud لتطبيقك:
gcloud config set project PROJECT_ID
استبدِل
PROJECT_ID
ب معرّف المشروع لمشروع Cloud الخاص بتطبيقك.فعِّل Google Workspace Events API وGoogle Cloud Pub/Sub API:
gcloud services enable pubsub.googleapis.com workspaceevents.googleapis.com
إنشاء بيانات اعتماد معرِّف عميل OAuth
اختَر نوع التطبيق للحصول على تعليمات محدّدة حول كيفية إنشاء معرِّف عميل OAuth:
تطبيق الويب
- في وحدة تحكّم Google Cloud، انتقِل إلى رمز القائمة > واجهات برمجة التطبيقات والخدمات > بيانات الاعتماد.
- انقر على إنشاء بيانات اعتماد > معرِّف عميل OAuth.
- انقر على نوع التطبيق > تطبيق الويب.
- في حقل الاسم، اكتب اسمًا لبيانات الاعتماد. ولا يظهر هذا الاسم إلا في "وحدة تحكّم Google Cloud".
- أضِف معرّفات الموارد المنتظمة (URI) المعتمَدة ذات الصلة بتطبيقك:
- التطبيقات من جهة العميل (JavaScript): ضمن مصادر JavaScript المسموح بها، انقر على إضافة معرّف الموارد المنتظم (URI). بعد ذلك، أدخِل عنوان URL لاستخدامه في طلبات المتصفّح. يحدِّد هذا النطاقات التي يمكن لتطبيقك إرسال طلبات واجهة برمجة التطبيقات منها إلى خادم OAuth 2.0.
- التطبيقات من جهة الخادم (Java وPython والمزيد): ضمن معرِّفات الموارد المنتظمة (URI) المعتمَدة لإعادة التوجيه، انقر على إضافة معرِّف الموارد المنتظم (URI). بعد ذلك، أدخِل معرّف موارد منتظم (URI) لنقطة نهاية يمكن لخادم OAuth 2.0 إرسال الاستجابات إليها.
- انقر على إنشاء. تظهر شاشة "تم إنشاء عميل OAuth"، والتي تعرض معرّف العميل وسرّه الجديدَين.
سجِّل معرِّف العميل. لا يتم استخدام أسرار العملاء لتطبيقات الويب.
- انقر على موافق. تظهر بيانات الاعتماد التي تم إنشاؤها حديثًا ضمن معرِّفات عملاء OAuth 2.0.
Android
- في وحدة تحكّم Google Cloud، انتقِل إلى رمز القائمة > واجهات برمجة التطبيقات والخدمات > بيانات الاعتماد.
- انقر على إنشاء بيانات اعتماد > معرِّف عميل OAuth.
- انقر على نوع التطبيق > Android.
- في حقل "الاسم"، اكتب اسمًا لبيانات الاعتماد. ولا يظهر هذا الاسم إلا في "وحدة تحكّم Google Cloud".
- في حقل "اسم الحزمة"، أدخِل اسم الحزمة من ملف
AndroidManifest.xml
. - في الحقل "الملف المرجعي لشهادة SHA-1"، أدخِل الملف المرجعي لشهادة SHA-1 الذي تم إنشاؤه.
- انقر على إنشاء. تظهر شاشة "تم إنشاء عميل OAuth"، والتي تعرض معرّف العميل الجديد.
- انقر على موافق. تظهر بيانات الاعتماد التي تم إنشاؤها حديثًا ضمن "معرّفات عملاء OAuth 2.0".
iOS
- في وحدة تحكّم Google Cloud، انتقِل إلى رمز القائمة > واجهات برمجة التطبيقات والخدمات > بيانات الاعتماد.
- انقر على إنشاء بيانات اعتماد > معرِّف عميل OAuth.
- انقر على نوع التطبيق > iOS.
- في حقل "الاسم"، اكتب اسمًا لبيانات الاعتماد. ولا يظهر هذا الاسم إلا في "وحدة تحكّم Google Cloud".
- في حقل "معرّف الحزمة"، أدخِل معرّف الحزمة كما هو مُدرَج في ملف
Info.plist
الخاص بالتطبيق. - اختياري: إذا كان تطبيقك يظهر في Apple App Store، أدخِل رقم تعريف App Store.
- اختياري: في حقل "رقم تعريف الفريق"، أدخِل السلسلة الفريدة المكونة من 10 أحرف والتي أنشأتها Apple وخصّصتها لفريقك.
- انقر على إنشاء. تظهر شاشة "تم إنشاء عميل OAuth"، والتي تعرض معرّف العميل وسرّه الجديدَين.
- انقر على موافق. تظهر بيانات الاعتماد التي تم إنشاؤها حديثًا ضمن "معرّفات عملاء OAuth 2.0".
تطبيق Chrome
- في وحدة تحكّم Google Cloud، انتقِل إلى رمز القائمة > واجهات برمجة التطبيقات والخدمات > بيانات الاعتماد.
- انقر على إنشاء بيانات اعتماد > معرِّف عميل OAuth.
- انقر على نوع التطبيق > تطبيق Chrome.
- في حقل "الاسم"، اكتب اسمًا لبيانات الاعتماد. ولا يظهر هذا الاسم إلا في "وحدة تحكّم Google Cloud".
- في حقل "رقم تعريف التطبيق"، أدخِل سلسلة تعريف تطبيقك الفريدة المكونة من 32 حرفًا. يمكنك العثور على قيمة رقم التعريف هذا في عنوان URL لتطبيقك على "سوق Chrome الإلكتروني" وفي لوحة بيانات المطوّر في "سوق Chrome الإلكتروني".
- انقر على إنشاء. تظهر شاشة "تم إنشاء عميل OAuth"، والتي تعرض معرّف العميل وسر العميل الجديدَين.
- انقر على موافق. تظهر بيانات الاعتماد التي تم إنشاؤها حديثًا ضمن "معرّفات عملاء OAuth 2.0".
تطبيق لأجهزة الكمبيوتر المكتبي
- في وحدة تحكّم Google Cloud، انتقِل إلى رمز القائمة > واجهات برمجة التطبيقات والخدمات > بيانات الاعتماد.
- انقر على إنشاء بيانات اعتماد > معرِّف عميل OAuth.
- انقر على نوع التطبيق > تطبيق كمبيوتر مكتبي.
- في حقل الاسم، اكتب اسمًا لبيانات الاعتماد. ولا يظهر هذا الاسم إلا في "وحدة تحكّم Google Cloud".
- انقر على إنشاء. تظهر شاشة "تم إنشاء عميل OAuth"، والتي تعرض معرّف العميل وسر العميل الجديدَين.
- انقر على موافق. تظهر بيانات الاعتماد التي تم إنشاؤها حديثًا ضمن معرِّفات عملاء OAuth 2.0.
أجهزة التلفزيون والأجهزة التي تتطلّب إدخال بيانات محدودة
- في وحدة تحكّم Google Cloud، انتقِل إلى رمز القائمة > واجهات برمجة التطبيقات والخدمات > بيانات الاعتماد.
- انقر على إنشاء بيانات اعتماد > معرِّف عميل OAuth.
- انقر على نوع التطبيق > أجهزة التلفزيون وأجهزة الإدخال المحدودة.
- في حقل "الاسم"، اكتب اسمًا لبيانات الاعتماد. ولا يظهر هذا الاسم إلا في "وحدة تحكّم Google Cloud".
- انقر على إنشاء. تظهر شاشة "تم إنشاء عميل OAuth"، والتي تعرض معرّف العميل وسر العميل الجديدَين.
- انقر على موافق. تظهر بيانات الاعتماد التي تم إنشاؤها حديثًا ضمن "معرّفات عملاء OAuth 2.0".
Universal Windows Platform (منصة Windows العالمية)
- في وحدة تحكّم Google Cloud، انتقِل إلى رمز القائمة > واجهات برمجة التطبيقات والخدمات > بيانات الاعتماد.
- انقر على إنشاء بيانات اعتماد > معرِّف عميل OAuth.
- انقر على نوع التطبيق > Universal Windows Platform (UWP).
- في حقل "الاسم"، اكتب اسمًا لبيانات الاعتماد. ولا يظهر هذا الاسم إلا في "وحدة تحكّم Google Cloud".
- في حقل "رقم تعريف المتجر"، أدخِل قيمة رقم تعريف Microsoft Store الفريد المكوّن من 12 حرفًا لتطبيقك. يمكنك العثور على هذا المعرّف في عنوان URL الخاص بتطبيقك على Microsoft Store وفي Partner Center.
- انقر على إنشاء. تظهر شاشة "تم إنشاء عميل OAuth"، والتي تعرض معرّف العميل وسرّه الجديدَين.
- انقر على موافق. تظهر بيانات الاعتماد التي تم إنشاؤها حديثًا ضمن "معرّفات عملاء OAuth 2.0".
تنزيل ملف JSON الخاص بسِر العميل
ملف سر العميل هو تمثيل بتنسيق JSON لبيانات اعتماد معرّف العميل في OAuth التي يمكن لتطبيقك الرجوع إليها عند تقديم بيانات الاعتماد.
في وحدة تحكّم Google Cloud، انتقِل إلى رمز القائمة > واجهات برمجة التطبيقات والخدمات > بيانات الاعتماد.
ضمن معرِّفات عملاء OAuth 2.0، انقر على معرِّف العميل الذي أنشأته.
انقر على تنزيل ملف JSON.
احفظ الملف باسم
client_secrets.json
.
إنشاء موضوع Pub/Sub والاشتراك فيه
في هذا القسم، يمكنك إنشاء موضوع Pub/Sub واشتراك في الموضوع. يُستخدَم موضوع Pub/Sub كنقطة نهاية إعلام يتلقّى فيها اشتراكك في Google Workspace الأحداث.
لمزيد من المعلومات حول إنشاء مواضيع Pub/Sub وإدارتها، يُرجى الاطّلاع على مستندات Pub/Sub .
لإنشاء موضوع Pub/Sub والاشتراك فيه:
Google Cloud Console
في وحدة تحكّم Google Cloud، انتقِل إلى صفحة Pub/Sub:
الانتقال إلى Google Cloud Pub/Sub
تأكَّد من اختيار مشروع Cloud لتطبيقك.
انقر على
إنشاء موضوع و نفِّذ ما يلي:- أدخِل اسمًا لموضوعك، مثل
workspace-events-topic
. - اترك الخيار إضافة اشتراك تلقائي محدّدًا. تُطلق Pub/Sub على هذا
الاشتراك التلقائي اسمًا مشابهًا لاسم موضوعك، مثل
workspace-events-topic-sub
. - اختياري: عدِّل أو اضبط مواقع إضافية لموضوعك.
- أدخِل اسمًا لموضوعك، مثل
انقر على إنشاء. يتم تنسيق اسم الموضوع الكامل على النحو التالي:
projects/PROJECT_ID/topics/TOPIC_ID
. ستستخدم هذا الاسم الكامل في خطوة لاحقة.امنح إذن الوصول لنشر رسائل Pub/Sub في موضوعك:
- في صفحة الموضوع، انتقِل إلى اللوحة الجانبية وافتح علامة التبويب الأذونات.
- انقر على إضافة مشرف.
- في حقل إضافة مستخدمين رئيسيين، أضِف حساب الخدمة لتطبيق
Google Workspace الذي يرسل الأحداث إلى
اشتراكك:
- بالنسبة إلى أحداث Chat،
chat-api-push@system.gserviceaccount.com
. - بالنسبة إلى أحداث Meet،
meet-api-event-push@system.gserviceaccount.com
.
- بالنسبة إلى أحداث Chat،
- في قائمة إسناد الأدوار، انقر على
Pub/Sub Publisher
. - انقر على حفظ. قد يستغرق تعديل الأذونات لموضوعك بضع دقائق.
gcloud
في مشروعك على Cloud، أنشئ موضوعًا من خلال تنفيذ العبارة التالية:
gcloud pubsub topics create TOPIC_ID
استبدِل
TOPIC_ID
بمعرّف فريد لموضوعك، مثلworkspace-events-topic
.تعرِض النتيجة اسم الموضوع الكامل بالتنسيق التالي:
projects/PROJECT_ID/topics/TOPIC_ID
. سجِّل الاسم وتأكَّد من أنّ قيمةPROJECT_ID هي رقم تعريف مشروع Cloud لتطبيقك. ستستخدم اسم الموضوع في الخطوة التالية ولإنشاء اشتراك Google Workspace لاحقًا.منح الإذن بنشر الرسائل في موضوعك:
gcloud pubsub topics add-iam-policy-binding TOPIC_NAME --member='serviceAccount:GOOGLE_WORKSPACE_APPLICATION' --role='roles/pubsub.publisher'
غيِّر القيم في السلسلة على الشكل التالي:
TOPIC_NAME
: اسم الموضوع الكامل، وهو حاصل الخطوة السابقة. بالتنسيق التالي:projects/PROJECT_ID/topics/TOPIC_ID
GOOGLE_WORKSPACE_APPLICATION
: تطبيق Google Workspace الذي يجب أن يرسل الأحداث إلى اشتراكك:- لتلقّي الأحداث من Chat، استخدِم
chat-api-push@system.gserviceaccount.com
. - لتلقّي الأحداث من Meet، استخدِم رمز
meet-api-event-push@system.gserviceaccount.com
.
- لتلقّي الأحداث من Chat، استخدِم
قد يستغرق تعديل الأذونات لموضوعك بضع دقائق.
أنشئ اشتراكًا في Pub/Sub للموضوع:
gcloud pubsub subscriptions create SUBSCRIPTION_NAME --topic=TOPIC_NAME
غيِّر القيم في السلسلة على الشكل التالي:
SUBSCRIPTION_NAME
: اسم لاشتراكك، مثلworkspace-events-subscription
TOPIC_NAME
: اسم الموضوع الذي أنشأته في الخطوة السابقة.
الاشتراك في مرجع Google Workspace
في هذا القسم، يمكنك الاشتراك في مرجع Google Workspace الذي تريد تتبُّع الأحداث فيه.
اختيار المرجع المستهدَف وتحديده
في اشتراك Google Workspace، المورد المستهدَف هو
مورد Google Workspace الذي ترصده بحثًا عن الأحداث. يتم تمثيل
المورد المستهدَف في حقل targetResource
للاشتراك، ويتم تنسيقه باستخدام
اسم المورد الكامل. على سبيل المثال، بالنسبة إلى اشتراك يراقب
مساحة Google Chat (spaces/AAAABBBBBBB
)، تكون قيمة targetResource
هي
//chat.googleapis.com/spaces/AAAABBBBBBB
.
قبل إنشاء الاشتراك، اطّلِع على الأقسام التالية للتعرّف على كيفية تحديد المورد المستهدَف وتنسيقه.
تحديد مصدر مستهدَف لتطبيق Chat
المورد المستهدَف | التنسيق | القيود |
---|---|---|
مسافة |
حيث يكون SPACE هو المعرّف في
اسم المورد لمورد Chat API |
يجب أن يكون مستخدم Chat الذي يفوّض الاشتراك عضوًا في المساحة من خلال حسابه على Google Workspace أو Google. |
جميع المساحات الخاصة بمستخدم |
|
لا يتلقّى الاشتراك سوى الأحداث للمساحات التي يكون فيها المستخدم عضوًا من خلال حسابه على Google Workspace أو Google. |
المستخدم |
حيث يكون USER هو المعرّف في
اسم المورد لمورد Chat API |
لا يتلقّى الاشتراك سوى الأحداث المتعلّقة بالمستخدم الذي أذن بالاشتراك. لا يمكن للمستخدم تفويض اشتراك نيابةً عن مستخدمين آخرين. |
تحديد مورد مستهدف لخدمة Meet
المورد المستهدَف | التنسيق | القيود (إن وُجدت) |
---|---|---|
مساحة الاجتماع | //meet.googleapis.com/spaces/SPACE
حيث يكون SPACE هو المعرّف في
اسم المورد لمورد |
|
المستخدم | //cloudidentity.googleapis.com/users/USER
حيث يكون USER هو رقم التعريف في حقل
|
يتلقّى الاشتراك أحداثًا عن مساحات الاجتماعات التي يكون فيها المستخدم أحد ما يلي:
|
إنشاء اشتراك في Google Workspace
لإنشاء اشتراك، استخدِم subscriptions.create()
method في Google Workspace Events API لإنشاء موارد
Subscription
. يمكنك تحديد الحقول التالية:
targetResource
: حساب Google Workspace الذي حدّدته في القسم السابق، تم تنسيقه باستخدام اسم المورد الكامل.eventTypes
: مصفوفة من نوع واحد أو أكثر من أنواع الأحداث التي تريد تلقّيها بشأن المورد على سبيل المثال، إذا كان تطبيقك يحتاج فقط إلى معرفة الرسائل الجديدة المُنشَرة في مساحة Chat، يمكن لتطبيقك الاشتراك في الأحداث المتعلقة بالرسائل التي تم إنشاؤها.notificationEndpoint
: نقطة نهاية إشعار يرسل إليها اشتراكك في Google Workspace الأحداث. يمكنك استخدام موضوع Pub/Sub الذي أنشأته في القسم السابق.-
payloadOptions
: خيارات لتحديد مقدار بيانات المورد المطلوب تضمينها في حمولة الحدث يؤثر هذا الإعداد في وقت انتهاء صلاحية اشتراكك. لمزيد من المعلومات، يُرجى الاطّلاع على بيانات الأحداث.
لإنشاء اشتراك في Google Workspace، اتّبِع الخطوات التالية:
برمجة تطبيقات
في مشروعك على Apps Script، أنشئ ملف نص برمجي جديد باسم
createSubscription
وأضِف الرمز التالي:function createSubscription() { // The Google Workspace resource to monitor for events. const targetResource = 'TARGET_RESOURCE'; // The types of events to receive. const eventTypes = [EVENT_TYPES]; // The endpoint to deliver events to, such as a Google Cloud Pub/Sub topic. const pubsubTopic = 'TOPIC_NAME'; // Whether to include resource data or not. const resourceData = RESOURCE_DATA; // Call the Workspace Events API using the advanced service. const response = WorkspaceEvents.Subscriptions.create({ targetResource: targetResource, eventTypes: eventTypes, notificationEndpoint: { pubsubTopic: pubsubTopic, }, payloadOptions: { includeResource: resourceData } }); console.log(response); }
غيِّر القيم في السلسلة على الشكل التالي:
TARGET_RESOURCE
: مرجع Google Workspace الذي تشترك فيه، بتنسيق اسم المرجع الكامل على سبيل المثال، للاشتراك في مساحة Google Chat التي تحمل رقم تعريف المساحةAAAABBBB
، استخدِم//chat.googleapis.com/spaces/AAAABBBB
.EVENT_TYPES
: نوع حدث واحد أو أكثر الذي تريد الاشتراك فيه في المورد المستهدَف يجب تنسيقها على هيئة صفيف من السلاسل مثل'google.workspace.chat.message.v1.created'
.TOPIC_NAME
: الاسم الكامل لموضوع Pub/Sub الذي أنشأته في مشروعك على Cloud بالتنسيق التالي:projects/PROJECT_ID/topics/TOPIC_ID
RESOURCE_DATA
: قيمة منطقية تحدّد ما إذا كان الاشتراك يحتوي على بيانات المورد في الحمولة:True
: يتضمّن جميع بيانات الموارد. لتقييد الحقول التي يتم تضمينها، أضِف حقلfieldMask
وحدِّد حقلًا واحدًا على الأقل للمورد الذي تم تغييره. لا تتيح سوى اشتراكات موارد Chat تضمين data الموارد.False
: يتم استبعاد بيانات الموارد.
لإنشاء اشتراك Google Workspace، شغِّل الدالة
createSubscription
في مشروعك على Apps Script.
Python
في دليل العمل، أنشئ ملفًا باسم
create_subscription.py
وأضِف الرمز التالي:"""Create subscription.""" from google_auth_oauthlib.flow import InstalledAppFlow from googleapiclient.discovery import build # Specify required scopes. SCOPES = [SCOPES] # Authenticate with Google Workspace and get user authentication. flow = InstalledAppFlow.from_client_secrets_file('client_secrets.json', SCOPES) CREDENTIALS = flow.run_local_server() # The Google Workspace resource to monitor for events. TARGET_RESOURCE = 'TARGET_RESOURCE' # The types of events to receive. EVENT_TYPES = [EVENT_TYPES] # The endpoint to deliver events to, such as a Google Cloud Pub/Sub topic. TOPIC = 'TOPIC_NAME' # Call the Workspace Events API using the service endpoint. service = build( 'workspaceevents', 'v1', credentials=CREDENTIALS, ) BODY = { 'target_resource': TARGET_RESOURCE, 'event_types': EVENT_TYPES, 'notification_endpoint': {'pubsub_topic': TOPIC}, 'payload_options': {'include_resource': RESOURCE_DATA}, } response = service.subscriptions().create(body=BODY).execute() print(response)
غيِّر القيم في السلسلة على الشكل التالي:
SCOPES
: نطاق OAuth واحد أو أكثر متوافق مع كل نوع من أنواع الأحداث للاشتراك يتم تنسيقها كصفيف من السلاسل. لسرد نطاقات متعددة، عليك الفصل بينها بفواصل. على سبيل المثال،'https://www.googleapis.com/auth/chat.spaces.readonly', 'https://www.googleapis.com/auth/chat.memberships.readonly'
.TARGET_RESOURCE
: مرجع Google Workspace الذي تشترك فيه، بتنسيق اسم المرجع الكامل على سبيل المثال، للاشتراك في مساحة Google Chat التي تحمل رقم تعريف المساحةAAAABBBB
، استخدِم//chat.googleapis.com/spaces/AAAABBBB
.EVENT_TYPES
: نوع حدث واحد أو أكثر الذي تريد الاشتراك فيه في المورد المستهدَف يجب تنسيقها على هيئة صفيف من السلاسل مثل'google.workspace.chat.message.v1.created'
.TOPIC_NAME
: الاسم الكامل لموضوع Pub/Sub الذي أنشأته في مشروعك على Cloud بالتنسيق التالي:projects/PROJECT_ID/topics/TOPIC_ID
RESOURCE_DATA
: قيمة منطقية تحدّد ما إذا كان الاشتراك يحتوي على بيانات المورد في الحمولة:True
: يتضمّن جميع بيانات الموارد. لتقييد الحقول التي يتم تضمينها، أضِف حقلfieldMask
وحدِّد حقلًا واحدًا على الأقل للمورد الذي تم تغييره. لا تتيح سوى الاشتراكات في مصادر Chat تضمين بيانات الموارد.False
: يتم استبعاد بيانات الموارد.
لإنشاء اشتراك Google Workspace، شغِّل ما يلي في وحدة التحكّم:
python3 create_subscription.py
تعرض Google Workspace Events API عملية
طويلة مكتملة تحتوي على
مثيل لمورد Subscription
الذي أنشأته.
اختبار اشتراكك في Google Workspace
لاختبار تلقي أحداث Google Workspace، يمكنك بدء حدث وسحب الرسائل إلى اشتراك Pub/Sub.
لاختبار اشتراكك في Google Workspace:
Google Cloud Console
يمكنك بدء نوع واحد أو أكثر من الأحداث في المورد المستهدَف لاشتراكك في Google Workspace. على سبيل المثال، إذا اشتركت في تلقّي رسائل جديدة في "مساحة Chat"، انشر رسالة في المساحة.
في وحدة تحكّم Google Cloud، انتقِل إلى صفحة Pub/Sub:
تأكَّد من اختيار مشروع Cloud لتطبيقك.
في قائمة النشر/الاشتراك، انقر على الاشتراكات.
في الجدول، ابحث عن اشتراك Pub/Sub لموضوعك وانقر على اسم الاشتراك.
انقر على علامة التبويب الرسائل.
انقر على سحب. قد يستغرق إنشاء حدث لرسالة Pub/Sub بضع دقائق.
gcloud
يمكنك بدء نوع واحد أو أكثر من الأحداث في المورد المستهدَف لاشتراكك في Google Workspace. على سبيل المثال، إذا اشتركت في تلقّي رسائل جديدة في "مساحة Chat"، انشر رسالة في المساحة.
نفِّذ الأمر التالي:
gcloud pubsub subscriptions pull PUBSUB_SUBSCRIPTION_NAME --format=json --limit=MESSAGE_COUNT --auto-ack
غيِّر القيم في السلسلة على الشكل التالي:
-
PUBSUB_SUBSCRIPTION_NAME
: الاسم الكامل لاشتراكك في Pub/Sub بالتنسيق التالي:projects/SUBSCRIPTION_ID/subscriptions/SUBSCRIPTION_ID
. -
MESSAGE_COUNT
: الحد الأقصى لعدد رسائل Pub/Sub التي تريد استرجاعها
قد يستغرق إنشاء حدث رسالة Pub/Sub بضع دقائق.
-
بالنسبة إلى كل حدث في Google Workspace شغّلته، يتم إرسال رسالة إلى اشتراكك في Pub/Sub الذي يحتوي على الحدث. لمعرفة التفاصيل، يُرجى الاطّلاع على مقالة تلقّي الأحداث كرسائل في Google Cloud Pub/Sub.
ضبط الطريقة التي يتلقّى بها تطبيقك الأحداث
إنّ اشتراك Pub/Sub الذي أنشأته يستند إلى أسلوب سحب البيانات. بعد اختبار اشتراكك في Pub/Sub، يمكنك تعديل نوع الإرسال لتغيير كيفيةتلقّي تطبيقك للأحداث. على سبيل المثال، يمكنك ضبط اشتراك Pub/Sub على نوع إرسال دفعي، حتى يتمكّن تطبيقك من تلقّي الأحداث مباشرةً إلى نقطة نهاية التطبيق.
للاطّلاع على معلومات عن ضبط اشتراك Pub/Sub، اطّلِع على مستندات Pub/Sub.