يشرح هذا الدليل كيفية استخدام المورد list
على مورد Space
الخاص بـ
Google Chat API لإدراج المساحات يؤدي سرد المساحات إلى عرض عنصر مقسّم على صفحات وقابل للفلترة.
قائمة المساحات.
تشير رسالة الأشكال البيانية
مرجع Space
يمثّل مكانًا يمكن فيه للمستخدمين والتطبيقات في Chat إرسال الرسائل
ومشاركتها والتعاون. تتوفّر عدة أنواع من المساحات:
- الرسائل المباشرة هي محادثات بين مستخدمين أو مستخدم تطبيق Chat.
- الدردشات الجماعية هي محادثات بين ثلاثة مستخدمين أو أكثر تطبيقات Chat
- المساحات المُعنونة هي أماكن دائمة يرسل من خلالها المستخدمون الرسائل ويشاركون الملفات والتعاون.
إدراج المساحات باستخدام مصادقة التطبيقات يسرد المساحات التي يمكن لتطبيق Chat الوصول إليها. البيانات مسافات تشتمل على مصادقة المستخدم يسرد المساحات التي يمكن للمستخدم الذي تمت المصادقة عليه الوصول إليها.
المتطلبات الأساسية
Python
- نشاط تجاري أو مؤسسة حساب Google Workspace لديه إذن بالوصول إلى Google Chat
- إعداد البيئة:
- أنشِئ مشروعًا على Google Cloud.
- ضبط شاشة موافقة OAuth
- تفعيل Google Chat API وضبطه باستخدام اسم ورمزه ووصفه لتطبيق Chat.
- تثبيت بايثون مكتبة برامج Google API
- إنشاء بيانات اعتماد الوصول استنادًا إلى طريقة المصادقة في Google Chat API
الطلب:
- للمصادقة كمستخدم Chat،
إنشاء معرِّف عميل OAuth
بيانات الاعتماد وحفظ بيانات الاعتماد كملف JSON
client_secrets.json
إلى الدليل المحلي. - للمصادقة كتطبيق Chat، اتّبِع الخطوات التالية:
إنشاء حساب خدمة
بيانات الاعتماد وحفظ بيانات الاعتماد كملف JSON
credentials.json
- للمصادقة كمستخدم Chat،
إنشاء معرِّف عميل OAuth
بيانات الاعتماد وحفظ بيانات الاعتماد كملف JSON
- اختر نطاق تفويض استنادًا إلى ما إذا كنت تريد المصادقة كمستخدم أو تطبيق Chat
Node.js
- نشاط تجاري أو مؤسسة حساب Google Workspace لديه إذن بالوصول إلى Google Chat
- إعداد البيئة:
- أنشِئ مشروعًا على Google Cloud.
- ضبط شاشة موافقة OAuth
- تفعيل Google Chat API وضبطه باستخدام اسم ورمزه ووصفه لتطبيق Chat.
- تثبيت Node.js مكتبة برامج Google API
- إنشاء بيانات اعتماد الوصول استنادًا إلى طريقة المصادقة في Google Chat API
الطلب:
- للمصادقة كمستخدم Chat،
إنشاء معرِّف عميل OAuth
بيانات الاعتماد وحفظ بيانات الاعتماد كملف JSON
client_secrets.json
إلى الدليل المحلي. - للمصادقة كتطبيق Chat، اتّبِع الخطوات التالية:
إنشاء حساب خدمة
بيانات الاعتماد وحفظ بيانات الاعتماد كملف JSON
credentials.json
- للمصادقة كمستخدم Chat،
إنشاء معرِّف عميل OAuth
بيانات الاعتماد وحفظ بيانات الاعتماد كملف JSON
- اختر نطاق تفويض استنادًا إلى ما إذا كنت تريد المصادقة كمستخدم أو تطبيق Chat
إدراج المساحات مع مصادقة المستخدم
لإدراج المساحات في Google Chat، أدخِل ما يلي في الطلب:
- مع
مصادقة المستخدم،
تحديد نطاق تفويض
chat.spaces.readonly
أوchat.spaces
. - عليك استدعاء
طريقة
list
في صفحة مرجع واحد (Space
)
يسرد المثال التالي المساحات المُسماة والمحادثات الجماعية (ولكن ليس المباشر الرسائل، التي تتم تصفيتها) مرئية للمستخدم الذي تمت مصادقته:
Python
- في دليل العمل، أنشِئ ملفًا باسم "
chat_space_list.py
". أدرِج الرمز التالي في
chat_space_list.py
:from google_auth_oauthlib.flow import InstalledAppFlow from googleapiclient.discovery import build # Define your app's authorization scopes. # When modifying these scopes, delete the file token.json, if it exists. SCOPES = ["https://www.googleapis.com/auth/chat.spaces.readonly"] def main(): ''' Authenticates with Chat API via user credentials, then lists named spaces and group chats (but not direct messages) visible to the authenticated user. ''' # Authenticate with Google Workspace # and get user authorization. flow = InstalledAppFlow.from_client_secrets_file( 'client_secrets.json', SCOPES) creds = flow.run_local_server() # Build a service endpoint for Chat API. chat = build('chat', 'v1', credentials=creds) # Use the service endpoint to call Chat API. result = chat.spaces().list( # An optional filter that returns named spaces or unnamed group chats, # but not direct messages (DMs). filter='spaceType = "SPACE" OR spaceType = "GROUP_CHAT"' ).execute() # Prints the returned list of spaces. print(result) if __name__ == '__main__': main()
في دليل العمل، أنشئ النموذج وشغِّله:
python3 chat_space_list.py
Node.js
- في دليل العمل، أنشِئ ملفًا باسم "
list-spaces.js
". أدرِج الرمز التالي في
list-spaces.js
:const chat = require('@googleapis/chat'); const {authenticate} = require('@google-cloud/local-auth'); /** * List Chat spaces. * @return {!Promise<!Object>} */ async function listSpaces() { const scopes = [ 'https://www.googleapis.com/auth/chat.spaces.readonly', ]; const authClient = await authenticate({scopes, keyfilePath: 'client_secrets.json'}); const chatClient = await chat.chat({version: 'v1', auth: authClient}); return await chatClient.spaces.list({ filter: 'spaceType = "SPACE" OR spaceType = "GROUP_CHAT"' }); } listSpaces().then(console.log);
في دليل العمل، شغِّل النموذج:
node list-spaces.js
تعرض واجهة برمجة تطبيقات Chat مصفوفة مقسّمة إلى صفحات للمساحات المُعنونة والمحادثات الجماعية
إدراج المساحات من خلال مصادقة التطبيقات
لإدراج المساحات في Google Chat، أدخِل ما يلي في الطلب:
- مع
مصادقة التطبيقات
تحديد نطاق تفويض
chat.bot
. - عليك استدعاء
طريقة
list
في صفحة مرجع واحد (Space
)
يسرد المثال التالي المساحات المُسماة والمحادثات الجماعية (ولكن ليس المباشر الرسائل) المرئية لتطبيق Chat:
Python
- في دليل العمل، أنشِئ ملفًا باسم "
chat_space_list_app.py
". أدرِج الرمز التالي في
chat_space_list_app.py
:from google.oauth2 import service_account from apiclient.discovery import build # Specify required scopes. SCOPES = ['https://www.googleapis.com/auth/chat.bot'] # Specify service account details. CREDENTIALS = ( service_account.Credentials.from_service_account_file('credentials.json') .with_scopes(SCOPES) ) # Build the URI and authenticate with the service account. chat = build('chat', 'v1', credentials=CREDENTIALS) # Use the service endpoint to call Chat API. result = chat.spaces().list( # An optional filter that returns named spaces or unnamed # group chats, but not direct messages (DMs). filter='spaceType = "SPACE" OR spaceType = "GROUP_CHAT"' ).execute() print(result)
في دليل العمل، أنشئ النموذج وشغِّله:
python3 chat_space_list_app.py
Node.js
- في دليل العمل، أنشِئ ملفًا باسم "
app-list-spaces.js
". أدرِج الرمز التالي في
app-list-spaces.js
:const chat = require('@googleapis/chat'); /** * List Chat spaces. * @return {!Promise<!Object>} */ async function listSpaces() { const scopes = [ 'https://www.googleapis.com/auth/chat.bot', ]; const auth = new chat.auth.GoogleAuth({ scopes, keyFilename: 'credentials.json', }); const authClient = await auth.getClient(); const chatClient = await chat.chat({version: 'v1', auth: authClient}); return await chatClient.spaces.list({ filter: 'spaceType = "SPACE" OR spaceType = "GROUP_CHAT"' }); } listSpaces().then(console.log);
في دليل العمل، شغِّل النموذج:
node app-list-spaces.js
تعرض واجهة Chat API مصفوفة مساحات مقسّمة على صفحات.
تخصيص عملية التقسيم على صفحات أو فلترة القائمة
لإدراج المساحات في Google Chat، عليك ضبط الاختيار التالي. مَعلمات طلب البحث لتخصيص التقسيم على صفحات للمساحات المدرَجة أو فلترتها:
pageSize
: الحد الأقصى لعدد المسافات المطلوب عرضها قد تعرض الخدمة أقل من هذه القيمة. وفي حال عدم تحديد قيمة هذه السمة، يتم عرض 100 مسافة كحدّ أقصى. تشير رسالة الأشكال البيانية القيمة القصوى هي 1000؛ يتم تغيير القيم الأعلى من 1000 تلقائيًا إلى 1000.pageToken
: رمز مميّز للصفحة تم تلقّيه من استدعاء سابق لمساحات عمل في القائمة قدِّم هذا الرمز المميّز لاسترداد الصفحة التالية. عند التقسيم على صفحات، أن تتطابق قيمة الفلتر مع الطلب الذي يقدم الرمز المميز للصفحة. جارٍ اجتياز القيم المختلفة إلى نتائج غير متوقعة.filter
: فلتر طلب بحث للحصول على تفاصيل طلبات البحث المتوافقة، راجِع طريقةspaces.list
.
مواضيع ذات صلة
- أنشئ مساحة.
- إعداد مساحة
- الحصول على تفاصيل حول مساحة
- تعديل مساحة
- حذف المساحة
- العثور على مساحة رسائل مباشرة