يوضّح هذا الدليل طريقة استخدام طريقة patch
على مورد Space
لواجهة برمجة تطبيقات Google Chat
لتعديل مساحة. عدِّل مساحة لتغيير السمات المتعلّقة بها،
مثل الاسم المعروض والوصف والإرشادات التي تخصّ المستخدم.
يمثّل
المورد Space
مكانًا يمكن فيه للمستخدمين وتطبيقات Chat إرسال الرسائل
ومشاركة الملفات والتعاون. تتوفّر عدة أنواع من المساحات:
- الرسائل المباشرة هي محادثات بين مستخدمَين أو مستخدم وتطبيق في Chat.
- المحادثات الجماعية هي محادثات بين ثلاثة مستخدمين أو أكثر وتطبيقات Chat.
- المساحات المُسمّاة هي أماكن دائمة يمكن للمستخدمين من خلالها إرسال الرسائل ومشاركة الملفات والتعاون معًا.
المتطلبات الأساسية
Python
- Python 3.6 أو أحدث
- إنّ أداة إدارة الحِزم pip
أحدث مكتبات عملاء Google للغة Python. لتثبيتها أو تحديثها، شغّل الأمر التالي في واجهة سطر الأوامر:
pip3 install --upgrade google-api-python-client google-auth-oauthlib
- مشروع على Google Cloud تم فيه تفعيل Google Chat API وضبطه لمعرفة الخطوات، يُرجى الاطّلاع على مقالة إنشاء تطبيق Google Chat.
تم ضبط التفويض لتطبيق Chat. يتطلب تعديل المساحة مصادقة المستخدم باستخدام نطاق التفويض
chat.spaces
.
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.spaces
.
تعديل مساحة
لتعديل مساحة حالية في Google Chat، يُرجى تقديم ما يلي في طلبك:
- حدِّد نطاق تفويض
chat.spaces
. - يمكنك استدعاء
طريقة
patch
على الموردSpace
وإدخالname
المساحة المطلوب تعديلها، بالإضافة إلىupdateMask
وbody
الذي يحدّد سمات المساحة المعدَّلة. - تحدّد السمة
updateMask
جوانب المساحة المطلوب تعديلها، وتتضمّن ما يلي:displayName
: تعديل اسم المساحة الذي يمكن للمستخدمين قراءته في واجهة مستخدم Google Chat تتيح هذه الميزة فقط تغيير الاسم المعروض للمساحة من النوعSPACE
، أو عند تضمين القناعspaceType
أيضًا لتغيير نوع المساحةGROUP_CHAT
إلىSPACE
. تؤدي محاولة تعديل الاسم المعروض لـGROUP_CHAT
أو مسافةDIRECT_MESSAGE
إلى ظهور خطأ غير صالح في الوسيطة.spaceType
: تُعدِّل نوع المساحة، ولكن تتيح فقط تغيير نوع المساحةGROUP_CHAT
إلىSPACE
. ضمِّنdisplayName
معspaceType
في قناع التحديث وتأكَّد من أنّ المساحة المحددة لا تتضمنdisplayName
ونوع مساحةSPACE
. إذا كانت المساحة الحالية تحتوي على النوعSPACE
، بما في ذلك القناعspaceType
والنوعSPACE
في المساحة المحددة عند تعديل الاسم المعروض، يكون ذلك اختياريًا . تؤدي محاولة تحديث نوع المساحة بطرق أخرى إلى حدوث خطأ غير صالح في الوسيطة.spaceDetails
: تفاصيل عن المساحة، بما في ذلك الوصف والقواعدspaceHistoryState
: توفّر تفعيل السجلّ أو إيقافه للمساحة في حال سمحت المؤسسة للمستخدمين بتغيير إعدادات السجلّ. الأحداث المتنافية مع جميع مسارات الحقول الأخرى
في ما يلي كيفية تعديل spaceDetails
لمساحة حالية:
Python
- في دليل العمل، أنشِئ ملفًا باسم
chat_space_update.py
. ضمِّن الرمز التالي في
chat_space_update.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"] def main(): ''' Authenticates with Chat API via user credentials, then updates the specified space description and guidelines. ''' # 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().patch( # The space to update, and the updated space details. # # Replace {space} with a space name. # Obtain the space name from the spaces resource of Chat API, # or from a space's URL. name='spaces/SPACE', updateMask='spaceDetails', body={ 'spaceDetails': { 'description': 'This description was updated with Chat API!', 'guidelines': 'These guidelines were updated with Chat API!' } } ).execute() # Prints details about the updated space. print(result) if __name__ == '__main__': main()
في الرمز، استبدِل
SPACE
باسم مساحة، الذي يمكنك الحصول عليه من طريقةspaces.list
في Chat API أو من عنوان URL الخاص بالمساحة.في دليل العمل، أنشئ النموذج وقم بتشغيله:
python3 chat_space_update.py
Node.js
- في دليل العمل، أنشِئ ملفًا باسم
update-space.js
. ضمِّن الرمز التالي في
update-space.js
:const chat = require('@googleapis/chat'); const {authenticate} = require('@google-cloud/local-auth'); /** * Updates a Chat space with the description and guidelines. * @return {!Promise<!Object>} */ async function updateSpace() { const scopes = [ 'https://www.googleapis.com/auth/chat.spaces', ]; const authClient = await authenticate({scopes, keyfilePath: 'client_secrets.json'}); const chatClient = await chat.chat({version: 'v1', auth: authClient}); return await chatClient.spaces.patch({ name: 'spaces/SPACE', updateMask: 'spaceDetails', requestBody: { spaceDetails: { description: 'This description was updated with Chat API!', guidelines: 'These guidelines were updated with Chat API!' }, } }); } updateSpace().then(console.log);
في الرمز، استبدِل
SPACE
باسم مساحة، الذي يمكنك الحصول عليه من طريقةspaces.list
في Chat API أو من عنوان URL الخاص بالمساحة.في دليل العمل، شغِّل النموذج:
node update-space.js
تعرض Google Chat API مثيلاً
لمورد Space
الذي يعرض التحديثات.