يشرح هذا الدليل طريقة استخدام طريقة create
على مورد membership
من Google Chat API لدعوة مستخدم أو "مجموعة Google" أو تطبيق Chat إلى مساحة تُعرف أيضًا باسم إنشاء عضوية أو إضافتها. عند إنشاء عضوية، إذا كانت سياسة القبول التلقائي الخاصة به غير مفعّلة لدى العضو المحدّد، تتم دعوته وعليه قبول دعوة المساحة قبل الانضمام. خلاف ذلك، يؤدي إنشاء عضوية إلى إضافة العضو
مباشرة إلى المساحة المحددة.
يوضّح
المورد Membership
ما إذا تمت دعوة المستخدم البشري أو تطبيق Google Chat إلى مساحة
أو جزء منها أو غير موجود فيها.
المتطلّبات الأساسية
Python
- Python 3.6 أو أعلى
- تتيح لك أداة pip إدارة الحزم
أحدث مكتبات برامج Google للغة بايثون. لتثبيتها أو تحديثها، قم بتشغيل الأمر التالي في واجهة سطر الأوامر لديك:
pip3 install --upgrade google-api-python-client google-auth-oauthlib
- مشروع على Google Cloud مع تفعيل وإعداد Google Chat API لمعرفة الخطوات، راجِع إنشاء تطبيق Google Chat.
تم ضبط التفويض لتطبيق Chat. لإنشاء عضوية، يتطلّب ذلك مصادقة المستخدم باستخدام نطاق التفويض
chat.memberships
أوchat.memberships.app
.
Node.js
- Node.js وnpm
أحدث مكتبات برامج Google لنظام Node.js. لتثبيتها، قم بتشغيل الأمر التالي في واجهة سطر الأوامر:
npm install @google-cloud/local-auth @googleapis/chat
- مشروع على Google Cloud مع تفعيل وإعداد Google Chat API لمعرفة الخطوات، راجِع إنشاء تطبيق Google Chat.
تم ضبط التفويض لتطبيق Chat. لإنشاء عضوية، يتطلّب ذلك مصادقة المستخدم باستخدام نطاق التفويض
chat.memberships
أوchat.memberships.app
.
دعوة مستخدم إلى مساحة أو إضافته
لدعوة مستخدم أو إضافته إلى مساحة، عليك إدخال ما يلي في طلبك:
- حدِّد نطاق تفويض
chat.memberships
. - استدعِ
طريقة
create
في مرجعmembership
. - اضبط
parent
على اسم مورد المساحة التي تريد إنشاء العضوية فيها. - اضبط السمة
member
علىusers/{user}
حيث يكون{user}
هو المستخدم الذي تريد إنشاء عضوية له، وهو:- رقم تعريف
الشخص
في People API. على سبيل المثال، إذا كان شخص
resourceName
في واجهة برمجة تطبيقات "الأشخاص" هوpeople/123456789
، يجب ضبطmembership.member.name
علىusers/123456789
. - رقم تعريف المستخدم في واجهة برمجة التطبيقات للدليل.
- عنوان البريد الإلكتروني للمستخدِم. على سبيل المثال،
users/222larabrown@gmail.com
أوusers/larabrown@cymbalgroup.com
. إذا كان المستخدم يستخدم "حساب Google" أو كان ينتمي إلى مؤسسة مختلفة على Google Workspace، عليك استخدام عنوان بريده الإلكتروني.
- رقم تعريف
الشخص
في People API. على سبيل المثال، إذا كان شخص
يضيف المثال التالي مستخدمًا إلى مساحة:
Python
- في دليل العمل، أنشئ ملفًا باسم
chat_membership_user_create.py
. أدرِج الرمز التالي في
chat_membership_user_create.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.memberships"] def main(): ''' Authenticates with Chat API via user credentials, then adds a user to a Chat space by creating a membership. ''' # 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().members().create( # The space in which to create a membership. parent = 'spaces/SPACE', # Specify which user the membership is for. body = { 'member': { 'name':'users/USER', 'type': 'HUMAN' } } ).execute() # Prints details about the created membership. print(result) if __name__ == '__main__': main()
في الرمز، استبدل ما يلي:
SPACE
: اسم مساحة يمكنك الحصول عليه من طريقةspaces.list
في Chat API أو من عنوان URL للمساحة.USER
: رقم تعريف المستخدم
في دليل العمل، أنشئ النموذج وشغِّله:
python3 chat_membership_user_create.py
Node.js
- في دليل العمل، أنشِئ ملفًا باسم "
add-user-to-space.js
". أدرِج الرمز التالي في
add-user-to-space.js
:const chat = require('@googleapis/chat'); const {authenticate} = require('@google-cloud/local-auth'); /** * Adds the user to the Chat space. * @return {!Promise<!Object>} */ async function addUserToSpace() { const scopes = [ 'https://www.googleapis.com/auth/chat.memberships', ]; const authClient = await authenticate({scopes, keyfilePath: 'client_secrets.json'}); const chatClient = await chat.chat({version: 'v1', auth: authClient}); return await chatClient.spaces.members.create({ parent: 'spaces/SPACE', requestBody: {member: {name: 'users/USER', type: 'HUMAN'}} }); } addUserToSpace().then(console.log);
في الرمز، استبدل ما يلي:
SPACE
: اسم مساحة يمكنك الحصول عليه من طريقةspaces.list
في Chat API أو من عنوان URL للمساحة.USER
: رقم تعريف المستخدم
في دليل العمل، شغِّل النموذج:
node add-user-to-space.js
تعرض واجهة Chat API مثالاً على
membership
يفصّل اشتراك المستخدم الذي تم إنشاؤه.
دعوة "مجموعة Google" أو إضافتها إلى مساحة
لدعوة مجموعة Google أو إضافتها إلى مساحة، عليك تضمين ما يلي في طلبك:
- حدِّد نطاق تفويض
chat.memberships
. - استدعِ
طريقة
create
في مرجعmembership
. - اضبط
parent
على اسم مورد المساحة التي تريد إنشاء العضوية فيها. - اضبط
groupMember
علىgroups/{group}
حيث يكون{group}
هو معرّف المجموعة التي تريد إنشاء عضوية لها. يمكن استرداد رقم تعريف المجموعة باستخدام Cloud Identity API. مثلاً، إذا أعادت Cloud Identity API مجموعة تحمل اسمgroups/123456789
، يتم في هذه الحالة ضبطmembership.groupMember.name
علىgroups/123456789
.
لا يمكن إضافة "مجموعات Google" إلى محادثة جماعية أو رسالة مباشرة، ولكن فقط إلى مساحة تحمل اسم. يضيف المثال التالي مجموعة إلى مساحة مُعنوَنة:
Python
- في دليل العمل، أنشئ ملفًا باسم
chat_membership_group_create.py
. أدرِج الرمز التالي في
chat_membership_group_create.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.memberships"] def main(): ''' Authenticates with Chat API via user credentials, then adds a group to a Chat space by creating a membership. ''' # 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().members().create( # The named space in which to create a membership. parent = 'spaces/SPACE', # Specify which group the membership is for. body = { 'groupMember': { 'name':'groups/GROUP', } } ).execute() # Prints details about the created membership. print(result) if __name__ == '__main__': main()
في الرمز، استبدل ما يلي:
SPACE
: اسم مساحة يمكنك الحصول عليه من طريقةspaces.list
في Chat API أو من عنوان URL للمساحة.GROUP
: رقم تعريف مجموعة
في دليل العمل، أنشئ النموذج وشغِّله:
python3 chat_membership_group_create.py
Node.js
- في دليل العمل، أنشِئ ملفًا باسم "
add-group-to-space.js
". أدرِج الرمز التالي في
add-group-to-space.js
:const chat = require('@googleapis/chat'); const {authenticate} = require('@google-cloud/local-auth'); /** * Adds the group to the Chat space. * @return {!Promise<!Object>} */ async function addUserToSpace() { const scopes = [ 'https://www.googleapis.com/auth/chat.memberships', ]; const authClient = await authenticate({scopes, keyfilePath: 'client_secrets.json'}); const chatClient = await chat.chat({version: 'v1', auth: authClient}); return await chatClient.spaces.members.create({ parent: 'spaces/SPACE', requestBody: {groupMember: {name: 'groups/GROUP'}} }); } addUserToSpace().then(console.log);
في الرمز، استبدل ما يلي:
SPACE
: اسم مساحة يمكنك الحصول عليه من طريقةspaces.list
في Chat API أو من عنوان URL للمساحة.GROUP
: رقم تعريف مجموعة
في دليل العمل، شغِّل النموذج:
node add-group-to-space.js
تعرض واجهة Chat API مثالاً على
membership
يفصّل عضوية المجموعة التي تم إنشاؤها.
إضافة تطبيق Chat إلى مساحة
لا يمكن لتطبيق Chat إضافة تطبيق آخر كعضو إلى مساحة. لإضافة تطبيق Chat إلى مساحة أو رسالة مباشرة بين مستخدمَين، عليك تضمين ما يلي في طلبك:
- حدِّد نطاق تفويض
chat.memberships.app
. - استدعِ
طريقة
create
في مرجعmembership
. - اضبط
parent
على اسم مورد المساحة التي تريد إنشاء العضوية فيها. - اضبط
member
علىusers/app
، وهو اسم مستعار يمثّل التطبيق الذي يطلب واجهة برمجة تطبيقات Chat.
يضيف المثال التالي تطبيق Chat إلى مساحة:
Python
- في دليل العمل، أنشئ ملفًا باسم
chat_membership_app_create.py
. أدرِج الرمز التالي في
chat_membership_app_create.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.memberships.app"] def main(): ''' Authenticates with Chat API via user credentials, then adds the Chat app to a Chat space. ''' # 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().members().create( # The space in which to create a membership. parent = 'spaces/SPACE', # Set the Chat app as the entity that gets added to the space. # 'app' is an alias for the Chat app calling the API. body = { 'member': { 'name':'users/app', 'type': 'BOT' } } ).execute() # Prints details about the created membership. print(result) if __name__ == '__main__': main()
في الرمز، استبدِل
SPACE
باسم مساحة، ويمكنك الحصول عليه من خلال طريقةspaces.list
في Chat API أو من عنوان URL للمساحة.في دليل العمل، أنشئ النموذج وشغِّله:
python3 chat_membership_app_create.py
Node.js
- في دليل العمل، أنشِئ ملفًا باسم "
add-app-to-space.js
". أدرِج الرمز التالي في
add-app-to-space.js
:const chat = require('@googleapis/chat'); const {authenticate} = require('@google-cloud/local-auth'); /** * Adds the app to the Chat space. * @return {!Promise<!Object>} */ async function addAppToSpace() { const scopes = [ 'https://www.googleapis.com/auth/chat.memberships.app', ]; const authClient = await authenticate({scopes, keyfilePath: 'client_secrets.json'}); const chatClient = await chat.chat({version: 'v1', auth: authClient}); return await chatClient.spaces.members.create({ parent: 'spaces/SPACE', requestBody: {member: {name: 'users/app', type: 'BOT'}} }); } addAppToSpace().then(console.log);
في الرمز، استبدِل
SPACE
باسم مساحة، ويمكنك الحصول عليه من خلال طريقةspaces.list
في Chat API أو من عنوان URL للمساحة.في دليل العمل، شغِّل النموذج:
node add-app-to-space.js
تعرض واجهة Chat API مثالاً على
membership
يفصّل اشتراك التطبيق الذي تم إنشاؤه.
مواضيع ذات صلة
- الحصول على تفاصيل حول عضوية المستخدم أو تطبيق Chat
- قائمة الأعضاء في مساحة
- تعديل عضوية مستخدم في مساحة Google Chat
- إزالة مستخدم أو تطبيق في Chat من مساحة