يوضّح هذا الدليل كيفية استخدام طريقة
list()
في المورد SpaceEvent ضِمن Google Chat API لعرض التغييرات التي تم إجراؤها على
الموارد في مساحة.
يمثّل مرجع SpaceEvent تغييرًا في المساحة المستهدَفة، بما في ذلك المراجع الفرعية للمساحة، مثل الرسائل والتفاعلات والعضويات. لمزيد من المعلومات حول قائمة أنواع الأحداث وحِزم بيانات الأحداث المتوافقة، يُرجى الاطّلاع على الحقلَين eventType وpayload في مستندات مرجع العنصر SpaceEvent.
يمكنك إدراج أحداث قبل ما يصل إلى 28 يومًا من وقت الطلب. يعرض الخادم الأحداث التي تتضمّن أحدث نسخة من المورد المتأثر.
على سبيل المثال، إذا أدرجت أحداثًا حول أعضاء جدد في المساحة، يعرض الخادم موارد Membership تحتوي على أحدث تفاصيل العضوية. إذا تمت إزالة أعضاء جدد خلال الفترة المطلوبة، سيحتوي حمولة الحدث على مورد Membership فارغ.
لعرض أحداث من مساحة، يجب أن يكون المستخدم الذي تمّت المصادقة عليه أو تطبيق Chat عضوًا في المساحة.
المتطلبات الأساسية
Node.js
- حساب Google Workspace Business أو Enterprise مع إمكانية الوصول إلى Google Chat
- إعداد البيئة:
- أنشئ مشروعًا على Google Cloud.
- ضبط شاشة طلب الموافقة المتعلّقة ببروتوكول OAuth
- فعِّل واجهة Google Chat API وأعِدّها من خلال إضافة اسم ورمز ووصف لتطبيق Chat.
- ثبِّت Node.js Cloud Client Library.
- أنشئ بيانات اعتماد الوصول استنادًا إلى الطريقة التي تريد استخدامها للمصادقة في طلب Google Chat API:
- لإجراء المصادقة كمستخدم في Chat،
أنشئ بيانات اعتماد معرّف عميل OAuthواحفظها كملف JSON باسم
credentials.jsonفي الدليل المحلي. - لإجراء المصادقة بصفتك تطبيق Chat،
أنشئ بيانات اعتماد
لحساب الخدمة واحفظها كملف JSON باسم
credentials.json.
- لإجراء المصادقة كمستخدم في Chat،
أنشئ بيانات اعتماد معرّف عميل OAuthواحفظها كملف JSON باسم
- اختَر نطاق تفويض استنادًا إلى ما إذا كنت تريد المصادقة كمستخدم أو كتطبيق Chat.
Python
- حساب Google Workspace Business أو Enterprise مع إمكانية الوصول إلى Google Chat
- إعداد البيئة:
- أنشئ مشروعًا على Google Cloud.
- ضبط شاشة طلب الموافقة المتعلّقة ببروتوكول OAuth
- فعِّل واجهة Google Chat API وأعِدّها من خلال إضافة اسم ورمز ووصف لتطبيق Chat.
- ثبِّت مكتبة برامج Cloud للغة Python.
- أنشئ بيانات اعتماد الوصول استنادًا إلى الطريقة التي تريد استخدامها للمصادقة في طلب Google Chat API:
- لإجراء المصادقة كمستخدم في Chat،
أنشئ بيانات اعتماد معرّف عميل OAuthواحفظها كملف JSON باسم
credentials.jsonفي الدليل المحلي. - لإجراء المصادقة بصفتك تطبيق Chat،
أنشئ بيانات اعتماد
لحساب الخدمة واحفظها كملف JSON باسم
credentials.json.
- لإجراء المصادقة كمستخدم في Chat،
أنشئ بيانات اعتماد معرّف عميل OAuthواحفظها كملف JSON باسم
- اختَر نطاق تفويض استنادًا إلى ما إذا كنت تريد المصادقة كمستخدم أو كتطبيق Chat.
عرض أحداث المساحة (مصادقة المستخدم)
لعرض أحداث المساحة من مساحة Chat، مرِّر ما يلي في طلبك:
حدِّد نطاق تفويض واحدًا أو أكثر لتوفير الدعم لكل نوع من أنواع الأحداث في طلبك. من أفضل الممارسات اختيار النطاق الأكثر تقييدًا الذي يتيح لتطبيقك العمل. لاختيار نطاق، اطّلِع على نظرة عامة على المصادقة والتفويض.
استدعِ طريقة
ListSpaceEvents()، مع تمريرfilterلأنواع الأحداث المطلوب إدراجها. يجب تحديد نوع حدث واحد على الأقل، ويمكنك أيضًا الفلترة حسب التاريخ. للاطّلاع على قائمة بأنواع الأحداث المتوافقة، يُرجى الرجوع إلى حقلeventTypeالخاص بموردSpaceEventفي المستندات المرجعية.
يعرض المثال التالي أحداثًا حول العضويات والرسائل الجديدة في مساحة:
Node.js
لتشغيل هذا النموذج، استبدِل SPACE_NAME برقم التعريف من
مساحة
name.
يمكنك الحصول على المعرّف من خلال استدعاء الطريقة
ListSpaces()
أو من عنوان URL الخاص بالمساحة.
تعرض Chat API قائمة مقسّمة إلى صفحات بأحداث المساحة حول العضويات والرسائل الجديدة.
عرض قائمة بأحداث المساحة (مصادقة تطبيق Chat)
تتطلّب مصادقة التطبيق الحصول على موافقة المشرف لمرة واحدة.
لعرض قائمة بأحداث المساحة من مساحة تتضمّن مصادقة التطبيق وواجهة Chat REST API، عليك تضمين ما يلي في طلبك:
- حدِّد نطاق تفويض واحدًا أو أكثر لتوفير الدعم لكل نوع من أنواع الأحداث في طلبك. من أفضل الممارسات اختيار النطاق الأكثر تقييدًا الذي يتيح لتطبيقك العمل. لمزيد من المعلومات عن اختيار نطاق، يُرجى الاطّلاع على نظرة عامة على المصادقة والترخيص.
https://www.googleapis.com/auth/chat.app.membershipshttps://www.googleapis.com/auth/chat.app.memberships.readonlyhttps://www.googleapis.com/auth/chat.app.messages.readonlyhttps://www.googleapis.com/auth/chat.app.spaceshttps://www.googleapis.com/auth/chat.app.spaces.readonly
- استدعِ طريقة
listفي الموردspaceEvents. - مرِّر
nameالمساحة لعرض الرسائل منها. - مرِّر
filterللاستعلام عن أنواع أحداث معيّنة.
كتابة نص برمجي يستدعي Chat API
في ما يلي كيفية إدراج أحداث المساحة باستخدام مصادقة التطبيق وChat REST API:
Python
- في دليل العمل، أنشئ ملفًا باسم
chat_spaceevents_list_app.py. أدرِج الرمز التالي في
chat_spaceevents_list_app.py:from google.oauth2 import service_account from apiclient.discovery import build # Define your app's authorization scopes. # Set authorization scopes based on the # event type. For example, if you are getting a space event # about a new membership, use the `chat.app.memberships` scope. # # When modifying these scopes, delete the file token.json, if it exists. SCOPES = ["https://www.googleapis.com/auth/chat.app.memberships", "https://www.googleapis.com/auth/chat.app.memberships.readonly", "https://www.googleapis.com/auth/chat.app.messages.readonly", "https://www.googleapis.com/auth/chat.app.spaces", "https://www.googleapis.com/auth/chat.app.spaces.readonly"] def main(): ''' Authenticates with Chat API using app authentication, then lists space events from a specified space. ''' # Specify service account details. creds = ( service_account.Credentials.from_service_account_file('credentials.json') .with_scopes(SCOPES) ) # Build a service endpoint for Chat API. chat = build('chat', 'v1', credentials=creds) # Use the service endpoint to call Chat API. result = chat.spaces().spaceEvents().list( # The space to list events from. # # Replace SPACE_NAME with a space name. # Obtain the space name from the spaces resource of Chat API, # or from a space's URL. parent='spaces/SPACE_NAME', # A required filter. Filters events by event type. # # Update this filter to match your requirements. filter='eventTypes:"google.workspace.chat.message.v1.created"' ).execute() # Print Chat API's response in your command line interface. print(result) if __name__ == '__main__': main()في الرمز، استبدِل ما يلي:
SPACE_NAME: اسم مساحة، ويمكنك الحصول عليه من خلال الطريقةspaces.listفي Chat API، أو من عنوان URL الخاص بمساحة.
في دليل العمل، أنشئ النموذج وشغِّله:
python3 chat_spaceevents_list_app.py
تعرض Chat API قائمة مقسّمة إلى صفحات بأحداث المساحة حول العضويات والرسائل الجديدة.