يوضّح هذا الدليل كيفية استخدام الأسلوب
update()
في مورد Membership
من Google Chat API لتغيير السمات
حول اشتراك، مثل تغيير عضو في مساحة إلى مدير مساحة أو
تغيير مدير مساحة إلى عضو في مساحة.
إذا كنت مشرفًا في Google Workspace، يمكنك استدعاء طريقة update()
لتعديل عضوية أي مساحة في مؤسستك على Google Workspace.
يمثّل
مورد Membership
ما إذا كان مستخدمًا أو تطبيق Google Chat قد تمت دعوته للانضمام إلى مساحة أو
كان جزءًا منها أو غير متواجد فيها.
المتطلبات الأساسية
Node.js
- حساب على Google Workspace من فئة Business أو Enterprise يتيح الوصول إلى Google Chat
- إعداد البيئة:
- أنشئ مشروعًا على Google Cloud.
- إعداد شاشة طلب الموافقة المتعلّقة ببروتوكول OAuth
- فعِّل Google Chat API وضبطها باستخدام اسم ورمز ووصف لتطبيق Chat.
- ثبِّت مكتبة برامج Cloud Client Library لنظام التشغيل Node.js.
- أنشئ بيانات اعتماد الوصول استنادًا إلى الطريقة التي تريد المصادقة بها في طلب Google Chat API:
- لمصادقة مستخدم Chat،
أنشئ بيانات اعتماد معرّف العميل لبروتوكول OAuth واحفظ بيانات الاعتماد كملف JSON باسم
client_secrets.json
في الدليل المحلي. - لمصادقة تطبيق Chat،
أنشئ بيانات اعتماد
حساب الخدمة واحفظ بيانات الاعتماد كملف JSON باسم
credentials.json
.
- لمصادقة مستخدم Chat،
أنشئ بيانات اعتماد معرّف العميل لبروتوكول OAuth واحفظ بيانات الاعتماد كملف JSON باسم
- اختَر نطاق التفويض استنادًا إلى ما إذا كنت تريد المصادقة بصفتك مستخدمًا أو تطبيق Chat.
تعديل اشتراك
لتعديل عضوية في مساحة، أرسِل ما يلي في طلبك:
- حدِّد نطاق التفويض:
- باستخدام مصادقة المستخدم،
حدِّد نطاق التفويض
chat.memberships
. - باستخدام
مصادقة التطبيق
(متوفّرة في إصدار المطوّرين التجريبي)،
حدِّد نطاق التفويض
chat.app.memberships
. عند تعديل عضوية في مساحة باستخدام مصادقة التطبيق، يمكنك تعديل العضويات في المساحات التي أنشأتها تطبيقات Chat فقط. تتطلّب مصادقة التطبيق الحصول على موافقة المشرف لمرة واحدة.
- باستخدام مصادقة المستخدم،
حدِّد نطاق التفويض
- استخدِم الطريقة
UpdateMembership()
. - نقْل
membership
كمثيل منMembership
مع ما يلي:- الحقل
name
الذي تم ضبطه على العضوية المطلوب تعديلها، والذي يتضمّن معرّف المساحة ومعرّف العضو - يتم ضبط حقول الاشتراك التي سيتم تعديلها على القيم الجديدة.
- الحقل
- أرسِل القيمة
updateMask
لتحديد جوانب الاشتراك المطلوب تعديلها، ويشمل ذلك ما يلي:role
: دور المستخدم في مساحة Chat، والذي يحدّد الإجراءات المسموح بها له في المساحة القيم المحتمَلة هي:ROLE_MEMBER
: عضو في المساحة يمتلك المستخدم أذونات أساسية، مثل إرسال الرسائل إلى المساحة. في المحادثات بين شخصَين والمحادثات الجماعية بدون اسم، يحصل الجميع على هذا الدور.ROLE_MANAGER
: مدير مساحة. يحصل المستخدم على جميع الأذونات الأساسية بالإضافة إلى الأذونات الإدارية التي تتيح له إدارة المساحة، مثل إضافة الأعضاء أو إزالتهم. لا تتوفّر هذه الميزة إلا في المساحات التي يكون فيهاspaceType
هوSPACE
(المساحات المُسمّاة).
منح عضو عادي في المساحة دور مدير مساحة بصفته مستخدمًا
يستدعي المثال التالي Chat API باستخدام
مصادقة المستخدم
لجعل عضو عادي في المساحة مديرًا للمساحة من خلال تحديد role
على أنّه
ROLE_MANAGER
:
Node.js
لتنفيذ العيّنة، استبدِل ما يلي:
SPACE_NAME
: رقم التعريف منname
المساحة يمكنك الحصول على المعرّف من خلال استدعاء الوسيطةListSpaces()
أو من عنوان URL للمساحة.MEMBER_NAME
: رقم التعريف منname
الاشتراك يمكنك الحصول على المعرّف من خلال استدعاء الأسلوبListMemberships()
، أو من نص الاستجابة الذي يتم عرضه بعد إنشاء اشتراك بشكل غير متزامن باستخدام Chat API.ROLE_NAME
: الدور المعدَّل،ROLE_MANAGER
.
تعمل Google Chat API على تعديل العضوية المحدّدة إلى مدير مساحة وتُرجع
مثيلًا من
Membership
.
منح مدير مساحة دور عضو عادي كمستخدم
يستدعي المثال التالي Chat API باستخدام
مصادقة المستخدم
لجعل مدير مساحة عضوًا عاديًا في المساحة من خلال تحديد role
على أنّه
ROLE_MEMBER
:
Node.js
لتنفيذ العيّنة، استبدِل ما يلي:
SPACE_NAME
: رقم التعريف منname
المساحة يمكنك الحصول على المعرّف من خلال استدعاء الوسيطةListSpaces()
أو من عنوان URL للمساحة.MEMBER_NAME
: رقم التعريف منname
الاشتراك يمكنك الحصول على المعرّف من خلال استدعاء الأسلوبListMemberships()
، أو من نص الاستجابة الذي يتم عرضه بعد إنشاء اشتراك بشكل غير متزامن باستخدام Chat API.ROLE_NAME
: الدور المعدَّل،ROLE_MEMBER
.
تعمل Google Chat API على تعديل العضوية المحدّدة إلى مدير مساحة وتُرجع
مثيلًا من
Membership
.
منح عضو عادي في مساحة دور مدير مساحة في تطبيق Chat
تتطلّب مصادقة التطبيق الحصول على موافقة المشرف لمرة واحدة.
إنشاء مفتاح واجهة برمجة تطبيقات
لاستدعاء طريقة واجهة برمجة التطبيقات في "معاينة المطوّر"، يجب استخدام إصدار غير متاح للجميع من "معاينة المطوّر" لمستند اكتشاف واجهة برمجة التطبيقات. لمصادقة الطلب، يجب إدخال مفتاح واجهة برمجة التطبيقات.
لإنشاء مفتاح واجهة برمجة التطبيقات، افتح مشروع تطبيقك على Google Cloud واتّبِع الخطوات التالية:
- في وحدة تحكّم Google Cloud، انتقِل إلى رمز القائمة > واجهات برمجة التطبيقات والخدمات > بيانات الاعتماد.
- انقر على إنشاء بيانات اعتماد > مفتاح واجهة برمجة التطبيقات.
- يتم عرض مفتاح واجهة برمجة التطبيقات الجديد.
- انقر على رمز النسخ لنسخ مفتاح واجهة برمجة التطبيقات لاستخدامه في رمز تطبيقك. يمكن أيضًا العثور على مفتاح واجهة برمجة التطبيقات في قسم "مفاتيح واجهة برمجة التطبيقات" ضمن بيانات اعتماد مشروعك.
- انقر على تقييد المفتاح لتعديل الإعدادات المتقدّمة والحد من استخدام مفتاح واجهة برمجة التطبيقات. لمزيد من التفاصيل، يُرجى الاطّلاع على فرض قيود على مفاتيح واجهة برمجة التطبيقات.
كتابة نص برمجي يستدعي Chat API
يستدعي المثال التالي Chat API باستخدام
مصادقة التطبيق
لجعل عضو عادي في المساحة مدير مساحة من خلال تحديد role
على أنّه
ROLE_MANAGER
في body
الذي يحدّد سمات الاشتراك المعدّلة:
Python
- في دليل العمل، أنشئ ملفًا باسم
chat_membership_update_to_manager_app.py
. يجب تضمين الرمز التالي في
chat_membership_update_to_manager_app.py
:from google.oauth2 import service_account from apiclient.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.app.memberships"] def main(): ''' Authenticates with Chat API using app authentication, then updates a specified space member to change it from a regular member to a space manager. ''' # 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, discoveryServiceUrl='https://chat.googleapis.com/$discovery/rest?version=v1&labels=DEVELOPER_PREVIEW&key=API_KEY') # Use the service endpoint to call Chat API. result = chat.spaces().members().patch( # The membership to update, and the updated role. # # Replace SPACE with a space name. # Obtain the space name from the spaces resource of Chat API, # or from a space's URL. # # Replace MEMBERSHIP with a membership name. # Obtain the membership name from the membership of Chat API. name='spaces/SPACE/members/MEMBERSHIP', updateMask='role', body={'role': 'ROLE_MANAGER'} ).execute() # Prints details about the updated membership. print(result) if __name__ == '__main__': main()
في الرمز، استبدِل ما يلي:
API_KEY
: مفتاح واجهة برمجة التطبيقات الذي أنشأته لإنشاء نقطة نهاية الخدمة لواجهة برمجة التطبيقات Chat API.
SPACE
: اسم مساحة، والذي يمكنك الحصول عليه منspaces.list
method في Chat API أو من عنوان URL للمساحة.MEMBERSHIP
: اسم اشتراك، والذي يمكنك الحصول عليه منspaces.members.list
method في Chat API.
في دليل العمل، أنشئ العيّنة وشغِّلها:
python3 chat_membership_update_to_manager_app.py
منح مدير مساحة دور عضو عادي كتطبيق Chat
تتطلّب مصادقة التطبيق الحصول على موافقة المشرف لمرة واحدة.
إنشاء مفتاح واجهة برمجة تطبيقات
لاستدعاء طريقة واجهة برمجة التطبيقات في "معاينة المطوّر"، يجب استخدام إصدار غير متاح للجميع من "معاينة المطوّر" لمستند اكتشاف واجهة برمجة التطبيقات. لمصادقة الطلب، يجب إدخال مفتاح واجهة برمجة التطبيقات.
لإنشاء مفتاح واجهة برمجة التطبيقات، افتح مشروع تطبيقك على Google Cloud واتّبِع الخطوات التالية:
- في وحدة تحكّم Google Cloud، انتقِل إلى رمز القائمة > واجهات برمجة التطبيقات والخدمات > بيانات الاعتماد.
- انقر على إنشاء بيانات اعتماد > مفتاح واجهة برمجة التطبيقات.
- يتم عرض مفتاح واجهة برمجة التطبيقات الجديد.
- انقر على رمز النسخ لنسخ مفتاح واجهة برمجة التطبيقات لاستخدامه في رمز تطبيقك. يمكن أيضًا العثور على مفتاح واجهة برمجة التطبيقات في قسم "مفاتيح واجهة برمجة التطبيقات" ضمن بيانات اعتماد مشروعك.
- انقر على تقييد المفتاح لتعديل الإعدادات المتقدّمة والحد من استخدام مفتاح واجهة برمجة التطبيقات. لمزيد من التفاصيل، يُرجى الاطّلاع على فرض قيود على مفاتيح واجهة برمجة التطبيقات.
كتابة نص برمجي يستدعي Chat API
يستدعي المثال التالي Chat API باستخدام
مصادقة التطبيق
لجعل مدير مساحة عضوًا عاديًا في المساحة من خلال تحديد role
على أنّه
ROLE_MEMBER
في body
الذي يحدّد سمات الاشتراك المعدَّلة:
Python
- في دليل العمل، أنشئ ملفًا باسم
chat_membership_update_to_member_app.py
. يجب تضمين الرمز التالي في
chat_membership_update_to_member_app.py
:from google.oauth2 import service_account from apiclient.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.app.memberships"] def main(): ''' Authenticates with Chat API via user credentials, then updates a specified space member to change it from a regular member to a space manager. ''' # 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, discoveryServiceUrl='https://chat.googleapis.com/$discovery/rest?version=v1&labels=DEVELOPER_PREVIEW&key=API_KEY') # Use the service endpoint to call Chat API. result = chat.spaces().members().patch( # The membership to update, and the updated role. # # Replace SPACE with a space name. # Obtain the space name from the spaces resource of Chat API, # or from a space's URL. # # Replace MEMBERSHIP with a membership name. # Obtain the membership name from the membership of Chat API. name='spaces/SPACE/members/MEMBERSHIP', updateMask='role', body={'role': 'ROLE_MEMBER'} ).execute() # Prints details about the updated membership. print(result) if __name__ == '__main__': main()
في الرمز، استبدِل ما يلي:
API_KEY
: مفتاح واجهة برمجة التطبيقات الذي أنشأته لإنشاء نقطة نهاية الخدمة لواجهة برمجة التطبيقات Chat API.
SPACE
: اسم مساحة، والذي يمكنك الحصول عليه منspaces.list
method في Chat API أو من عنوان URL للمساحة.MEMBERSHIP
: اسم اشتراك، والذي يمكنك الحصول عليه منspaces.members.list
method في Chat API.
في دليل العمل، أنشئ العيّنة وشغِّلها:
python3 chat_membership_update_to_member_app.py
تعديل العضويات بصفتك مشرفًا في Google Workspace
إذا كنت مشرفًا في Google Workspace، يمكنك استخدام update()
الطريقة لتعديل العضويات في أي مساحة في مؤسستك على Google
Workspace.
لاستدعاء هذه الطريقة بصفتك مشرفًا في Google Workspace، اتّبِع الخطوات التالية:
- استخدِم طريقة المصادقة للمستخدم، وحدِّد نطاق التفويض الذي يتيح استدعاء الطريقة باستخدام امتيازات المشرف.
- في طلبك، حدِّد مَعلمة طلب البحث
useAdminAccess
إلىtrue
.
لمزيد من المعلومات والأمثلة، يُرجى الاطّلاع على مقالة إدارة مساحات Google Chat بصفتك مشرفًا في Google Workspace.
مواضيع ذات صلة
- دعوة مستخدم أو تطبيق Google Chat أو إضافتهما إلى مساحة
- الحصول على تفاصيل حول اشتراك مستخدم أو تطبيق Chat
- عرض قائمة بالأعضاء في مساحة
- إزالة مستخدم أو تطبيق Chat من مساحة