يوضّح هذا الدليل كيفية استخدام طريقة
get()
في المورد SpaceEvent ضِمن Google Chat API للحصول على تفاصيل حول
حدث من مساحة Chat في Google Chat.
يمثّل المرجع SpaceEvent تغييرًا في مساحة أو مراجعها الفرعية، مثل الرسائل والتفاعلات والعضويات. للاطّلاع على أنواع الأحداث المتوافقة، راجِع حقل
eventType في مرجع SpaceEvent.
يمكنك طلب أحداث تصل إلى 28 يومًا قبل وقت الطلب. يحتوي الحدث على أحدث إصدار من المورد الذي تم تغييره. على سبيل المثال، إذا طلبت حدثًا حول رسالة جديدة ولكن تم تعديل الرسالة لاحقًا، سيعرض الخادم مورد Message المعدَّل في حمولة الحدث.
لاستدعاء هذه الطريقة، يجب استخدام مصادقة المستخدم. للحصول على حدث، يجب أن يكون المستخدم الذي تم التحقّق من هويته عضوًا في المساحة التي وقع فيها الحدث.
المتطلبات الأساسية
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.
الحصول على تفاصيل حول حدث في "مساحة" (مصادقة المستخدم)
للحصول على تفاصيل حول حدث في مساحة في Google Chat، مرِّر ما يلي في طلبك:
- حدِّد نطاق تفويض يتوافق مع نوع الحدث في طلبك. كأفضل ممارسة، اختَر النطاق الأكثر تقييدًا الذي يتيح لتطبيقك العمل.
- استدعِ طريقة
GetSpaceEvent()مع تمريرnameلحدث المساحة المطلوب الحصول عليه.
يحصل المثال التالي على حدث في مساحة:
Node.js
يستخدم نموذج الرمز البرمجي Node.js هذا Chat RPC API.
لتشغيل هذا النموذج، استبدِل ما يلي:
SCOPE_NAME: نطاق تفويض يستند إلى نوع الحدث. على سبيل المثال، إذا كنت تتلقّى حدثًا في المساحة حول اشتراك جديد، استخدِم النطاقchat.memberships.readonly، بالتنسيقhttps://www.googleapis.com/auth/chat.memberships.readonly. يمكنك الحصول على نوع الحدث من خلال الطريقةListSpaceEvents(). لمعرفة كيفية استخدام هذه الطريقة، يُرجى الاطّلاع على عرض قائمة بالأحداث من مساحة.SPACE_NAME: رقم التعريف منnameالخاص بالمساحة يمكنك الحصول على المعرّف من خلال استدعاء الطريقةListSpaces()أو من عنوان URL الخاص بالمساحة.- استبدِل
SPACE_EVENT_NAMEبمعرّفnameلحدث المساحة. يمكنك الحصول على المعرّف من خلال الطريقةListSpaceEvents(). لمعرفة كيفية استخدام هذه الطريقة، يُرجى الاطّلاع على عرض قائمة بالأحداث من مساحة.
تعرض Chat API مثيلاً من
SpaceEvent
يتضمّن تفاصيل حول الحدث.
الحصول على تفاصيل حول حدث في مساحة (المصادقة على تطبيق 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
- استدعِ طريقة
getفي الموردspaceEvents. - مرِّر
nameالمساحة التي تريد الحصول على تفاصيل الحدث منها.
كتابة نص برمجي يستدعي Chat API
إليك كيفية الحصول على تفاصيل حول حدث في مساحة باستخدام مصادقة التطبيق و Chat REST API:
Python
يستخدم نموذج الرمز البرمجي هذا بلغة Python Chat REST API.
- في دليل العمل، أنشئ ملفًا باسم
chat_spaceevents_get_app.py. أدرِج الرمز التالي في
chat_spaceevents_get_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().get( # The space to get event details 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. name='spaces/SPACE_NAME/spaceEvents/SPACE_EVENT_NAME', ).execute() # Print Chat API's response in your command line interface. print(result) if __name__ == '__main__': main()في الرمز، استبدِل ما يلي:
SPACE_NAME: اسم مساحة، ويمكنك الحصول عليه من خلال الطريقةspaces.listفي Chat API، أو من عنوان URL الخاص بمساحة.- استبدِل
SPACE_EVENT_NAMEبمعرّفnameلحدث المساحة. يمكنك الحصول على المعرّف من خلال الطريقةListSpaceEvents(). لمعرفة كيفية استخدام هذه الطريقة، يُرجى الاطّلاع على عرض قائمة بالأحداث من مساحة.
في دليل العمل، أنشئ النموذج وشغِّله:
python3 chat_spaceevents_get_app.py
تعرض Chat API قائمة مقسّمة إلى صفحات بأحداث المساحة حول العضويات والرسائل الجديدة.