يشرح هذا الدليل كيفية استخدام طريقة setup
على مورد Space
الخاص بـ
Google Chat API لإعداد مساحة في Google Chat يؤدي إعداد مساحة إلى إنشاء مساحة
وإضافة مستخدمين محددين إليها.
تشير رسالة الأشكال البيانية
مرجع Space
يمثّل مكانًا يمكن فيه للمستخدمين والتطبيقات في Chat إرسال رسائل
ومشاركتها والتعاون. تتوفّر عدة أنواع من المساحات:
- الرسائل المباشرة هي محادثات بين مستخدمين أو مستخدم تطبيق Chat.
- الدردشات الجماعية هي محادثات بين ثلاثة مستخدمين أو أكثر تطبيقات Chat
- المساحات المُعنونة هي أماكن دائمة يرسل من خلالها المستخدمون الرسائل ويشاركون الملفات والتعاون.
عند إعداد مساحة، يجب مراعاة ما يلي:
- تتم إضافة المستخدم الذي يتصل (تمت مصادقته) تلقائيًا إلى المساحة، وبالتالي يمكنك لا تحتاج إلى تحديد عضوية المستخدم في الطلب.
- عند إنشاء رسالة مباشرة (DM) أو إذا كانت هناك رسالة مباشرة بين مستخدمين: ثم يتم إرجاع الرسالة المباشرة. وبخلاف ذلك، يتم إنشاء رسالة مباشرة.
- عند إنشاء محادثة جماعية، في حال عدم توفّر أي من العضويات في الطلب تتم إضافتها بنجاح إلى المحادثة الجماعية (على سبيل المثال، مشكلة في الإذن)، ثم قد يتم إنشاء محادثة جماعية فارغة (بما في ذلك المستخدم المتصل فقط).
- لا يمكنك إعداد مساحات تتضمن ردودًا في سلاسل منفصلة أو إضافة مستخدمين من خارج Google Workspace
- تم تقديم اشتراكات مكرّرة (بما في ذلك المستخدم المتصل) في الطلب. بدلاً من أن ينتج عنها خطأ في الطلب.
المتطلبات الأساسية
Python
- نشاط تجاري أو مؤسسة حساب Google Workspace لديه إذن بالوصول إلى Google Chat
- Python 3.6 أو أعلى
- أداة إدارة حزم pip
- أحدث مكتبات عملاء Google. لتثبيت التطبيقات أو تحديثها،
قم بتشغيل الأمر التالي في واجهة سطر الأوامر:
pip3 install --upgrade google-api-python-client google-auth-oauthlib
- إعداد البيئة:
- أنشِئ مشروعًا على Google Cloud.
- ضبط شاشة موافقة OAuth
- تفعيل Google Chat API وضبطه باستخدام اسم ورمزه ووصفه لتطبيق Chat.
-
أنشئ بيانات اعتماد معرِّف عميل OAuth لتطبيق متوافق مع الكمبيوتر المكتبي. لتنفيذ النموذج في هذه
فقط، احفظ بيانات الاعتماد كملف JSON (
client_secrets.json
) في الدليل المحلي.
- اختر نطاق تفويض يتيح مصادقة المستخدم.
Node.js
- نشاط تجاري أو مؤسسة حساب Google Workspace لديه إذن بالوصول إلى Google Chat
- الإصدار 14 من Node.js أو الإصدارات الأحدث
- npm أداة إدارة الحِزم
- أحدث مكتبات عملاء Google. لتثبيت التطبيقات أو تحديثها،
قم بتشغيل الأمر التالي في واجهة سطر الأوامر:
npm install @google-cloud/local-auth @googleapis/chat
- إعداد البيئة:
- أنشِئ مشروعًا على Google Cloud.
- ضبط شاشة موافقة OAuth
- تفعيل Google Chat API وضبطه باستخدام اسم ورمزه ووصفه لتطبيق Chat.
-
أنشئ بيانات اعتماد معرِّف عميل OAuth لتطبيق متوافق مع الكمبيوتر المكتبي. لتنفيذ النموذج في هذه
فقط، احفظ بيانات الاعتماد كملف JSON (
client_secrets.json
) في الدليل المحلي.
- اختر نطاق تفويض يتيح مصادقة المستخدم.
إعداد مساحة
لإعداد مساحة، أدخِل ما يلي في طلبك:
- حدِّد نطاق التفويض
chat.spaces.create
أوchat.spaces
. - عليك استدعاء
طريقة
setup
في مرجعSpace
. - لإضافة مستخدم بشري كعضو في المساحة، حدِّد
users/{user}
حيث{user}
. هي إما{person_id}
person
من People API أو من معرّفuser
في واجهة برمجة التطبيقات للدليل. فعلى سبيل المثال، إذا كان الشخص الذي يستخدم واجهة برمجة تطبيقات "الأشخاص"resourceName
هيpeople/123456789
. يمكنك إضافة المستخدم إلى المساحة من خلال بما في ذلك عضوية في قناة "users/123456789
" باعتبارهاmember.name
. - لإضافة مجموعة كعضو في المساحة، حدِّد
groups/{group}
حيث تكون{group}
معرّف المجموعة التي تريد إنشاء عضوية لها. يمكن أن يساعدك معرف المجموعة استردادها باستخدام Cloud Identity API. على سبيل المثال، إذا كانت واجهة Cloud Identity API مجموعة باسمgroups/123456789
، ثم يتم تعيينها منmembership.groupMember.name
إلىgroups/123456789
. يتعذر إجراء ذلك على "مجموعات Google" إضافتها إلى محادثة جماعية أو رسالة مباشرة، ولكن إلى مساحة مُعنوَنة فقط - لإنشاء رسالة مباشرة بين المستخدم المتصل ومستخدم آخر المستخدم، يُرجى تحديد عضوية المستخدم البشري في طلبك.
- لإنشاء رسالة مباشرة بين المستخدم الذي يتصل بتطبيقك وتطبيق الاتصال، عليك ضبط
من
Space.singleUserBotDm
إلىtrue
بدون تحديد أي عضويات. يمكنك يمكنك استخدام هذه الطريقة فقط لإعداد رسالة مباشرة باستخدام تطبيق إجراء المكالمات. لإضافة إجراء الاتصال بصفتك عضوًا في مساحة أو رسالة مباشرة حالية بين مستخدمَين، يمكنك الاطّلاع على إنشاء اشتراك
ينشئ المثال التالي مساحة مُعنوَنة وينشئ عضويات في المساحة. لمجموعة واحدة وثلاثة مستخدمين (بما في ذلك المستخدم الذي تمت المصادقة عليه ومستخدمان مستخدمين محددين آخرين).
Python
- في دليل العمل، أنشِئ ملفًا باسم "
chat_space_setup.py
". أدرِج الرمز التالي في
chat_space_setup.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.create"] def main(): ''' Authenticates with Chat API via user credentials, then sets up a Chat space by creating a space and adding members. ''' # 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().setup( # Details about the space to set up. body = { # Attributes of the space to set up, like space type and display name. 'space': { # To set up a named space, set spaceType to SPACE. 'spaceType': 'SPACE', # The user-visible name of the space 'displayName': 'API-setup' }, # The users and groups to add to the space. # # The authenticated user is automatically added to the space, # and doesn't need to be specified in the memberships array. 'memberships': [ { 'member': { 'name':'users/123456789', 'type': 'HUMAN' } }, { 'member': { 'name':'users/987654321', 'type': 'HUMAN' } }, { 'groupMember': { 'name': 'groups/11223344' } } ] } ).execute() # Prints details about the created space. print(result) if __name__ == '__main__': main()
في دليل العمل، أنشئ النموذج وشغِّله:
python3 chat_space_setup.py
Node.js
- في دليل العمل، أنشِئ ملفًا باسم "
setup-space.js
". أدرِج الرمز التالي في
setup-space.js
:const chat = require('@googleapis/chat'); const {authenticate} = require('@google-cloud/local-auth'); /** * Sets up a new Chat space with users. * @return {!Promise<!Object>} */ async function setupSpace() { const scopes = [ 'https://www.googleapis.com/auth/chat.spaces.create', ]; const authClient = await authenticate({scopes, keyfilePath: 'client_secrets.json'}); const chatClient = await chat.chat({version: 'v1', auth: authClient}); return await chatClient.spaces.setup({ requestBody: { space: { spaceType: 'SPACE', displayName: 'API-made', }, memberships: [ {member: {name: 'users/123456789', type: 'HUMAN'}}, {member: {name: 'users/987654321', type: 'HUMAN'}}, {groupMember: {name: 'groups/11223344'}}, ] } }); } setupSpace().then(console.log);
في دليل العمل، شغِّل النموذج:
node setup-space.js
مساحة محادثة مُسمّاة تضم مجموعة واحدة وثلاثة مستخدمين، بما في ذلك إعداد حساب مستخدم تمت مصادقته.
للانتقال إلى المساحة، استخدِم رقم تعريف المورد الخاص بالمساحة لإنشاء عنوان URL لها.
يمكنك الحصول على رقم تعريف المورد من المساحة "name
" في ردّ Google Chat.
جسم. على سبيل المثال، إذا كانت قيمة name
في مساحتك هي spaces/1234567
، يمكنك الانتقال إلى
إلى المساحة باستخدام عنوان URL التالي:
https://mail.google.com/chat/u/0/#chat/space/1234567
مواضيع ذات صلة
- أنشئ مساحة.
- الحصول على تفاصيل حول مساحة
- إدراج المساحات:
- تعديل مساحة
- حذف المساحة
- العثور على مساحة رسائل مباشرة
- إتاحة مساحة قابلة للاكتشاف من مستخدمين محدّدين