مصادقة تطبيقات Chat وطلبات Google Chat API واعتمادهما

المصادقة والترخيص هما آليتان تُستخدمان للتحقق من الهوية والوصول إلى الموارد، على التوالي. يوضّح هذا المستند آلية عمل المصادقة والتفويض في تطبيقات Chat وطلبات البيانات من واجهة برمجة التطبيقات في Chat.

نظرة عامة على العملية

يوضّح المخطّط البياني التالي الخطوات العالية المستوى للمصادقة والتفويض في Google Chat:

الخطوات الأساسية للمصادقة والتفويض في Google Chat
الشكل 1. خطوات عالية المستوى للمصادقة والتفويض في Google Chat

  1. إعداد مشروع على Google Cloud وتفعيل Chat API وإعداد تطبيق Chat: أثناء عملية التطوير، يمكنك إنشاء مشروع على Google Cloud. في مشروع Google Cloud، يمكنك تفعيل Chat API وضبط تطبيق Chat وإعداد المصادقة. لمزيد من المعلومات، يُرجى الاطّلاع على التطوير على Google Workspace وإنشاء تطبيق في Chat.

  2. استدعاء Chat API: عندما يستدعي تطبيقك Chat API، يرسل بيانات اعتماد المصادقة إلى Chat API. إذا كان تطبيقك يصادق باستخدام حساب خدمة، يتم إرسال بيانات الاعتماد كجزء من رمز تطبيقك. إذا كان تطبيقك يتطلب استدعاء Chat API باستخدام مصادقة المستخدم التي لم يتم منحها بعد، فإنه يطالب المستخدم بتسجيل الدخول.

  3. طلب الموارد: يطلب تطبيقك الوصول إلى البيانات باستخدام النطاقات التي تحدّدها أثناء إعداد المصادقة.

  4. طلب الموافقة: إذا كان تطبيقك يصادق كمستخدم، ستعرض Google شاشة طلب الموافقة على OAuth ليتمكّن المستخدم من تحديد ما إذا كان سيمنح تطبيقك إذن الوصول إلى البيانات المطلوبة. لا تتطلّب المصادقة باستخدام حساب خدمة موافقة المستخدم.

  5. إرسال طلب موافقة للموارد: إذا وافق المستخدم على نطاقات التفويض، يجمع تطبيقك بيانات الاعتماد والنطاقات التي وافق عليها المستخدم في طلب واحد. يتم إرسال الطلب إلى خادم تفويض Google للحصول على رمز دخول.

  6. تعرض Google رمز دخول: يحتوي رمز الدخول على قائمة بالنطاقات الممنوحة. إذا كانت قائمة النطاقات التي تم عرضها أكثر تقييدًا من النطاقات المطلوبة، سيوقف تطبيقك أي ميزات يقيّدها الرمز المميّز.

  7. الوصول إلى الموارد المطلوبة: يستخدم تطبيقك رمز الدخول من Google لاستدعاء Chat API والوصول إلى موارد Chat API.

  8. الحصول على رمز مميّز لإعادة التحميل (اختياري): إذا كان تطبيقك بحاجة إلى الوصول إلى Google Chat API بعد انتهاء صلاحية رمز الدخول واحد، يمكنه الحصول على رمز مميّز لإعادة التحميل. لمزيد من المعلومات، يُرجى الاطّلاع على المقالة استخدام بروتوكول OAuth 2.0 للوصول إلى Google APIs.

  9. طلب المزيد من الموارد: إذا كان تطبيقك يحتاج إلى المزيد من إمكانية الوصول، فإنه يطلب من المستخدم منح نطاقات جديدة، مما يؤدي إلى طلب جديد للحصول على رمز الدخول (الخطوات 3-6).

عندما تتطلّب تطبيقات Chat المصادقة

يمكن لتطبيقات Chat إرسال رسائل ردًا على تفاعل المستخدم أو بشكل غير متزامن. ويمكنها أيضًا إكمال المهام نيابةً عن المستخدم، مثل إنشاء مساحة Chat أو الحصول على قائمة بالمستخدمين في مساحة Chat.

لا تتطلّب تطبيقات Chat المصادقة للردّ على تفاعل المستخدم، إلا إذا استدعى تطبيق Chat واجهة برمجة تطبيقات Chat أو Google APIs أخرى أثناء معالجة الردّ.

لإرسال رسائل غير متزامنة أو تنفيذ مهام نيابةً عن مستخدم، تُرسِل تطبيقات Chat طلبات RESTful إلى واجهة برمجة تطبيقات Chat، والتي تتطلّب المصادقة والتفويض.

لا تتطلّب الردود على تفاعلات المستخدمين المصادقة

لا تحتاج تطبيقات Google Chat إلى المصادقة كمستخدم أو تطبيق Chat لتلقّي تفاعلات المستخدمين والرد عليها بشكل متزامن.

تتلقّى تطبيقات Google Chat عناصر الأحداث عندما يتفاعل المستخدم مع تطبيق Chat أو يستدعيه، بما في ذلك ما يلي:

  • يرسل مستخدم رسالة إلى تطبيق Chat.
  • يشير مستخدم إلى تطبيق Chat باستخدام @.
  • يستدعي المستخدم أحد أوامر تطبيق Chat.

يوضّح المخطّط البياني التالي تسلسل الطلب والاستجابة بين مستخدم Chat وتطبيق Chat:

لا حاجة إلى تفويض لتفاعلات المستخدمين مع تطبيقات Chat
الشكل 2. لا تتطلّب تفاعلات مستخدمي تطبيق Chat المصادقة.

  1. يرسل المستخدم رسالة إلى تطبيق Chat في Google Chat.
  2. يعيد Google Chat توجيه الرسالة إلى التطبيق.
  3. يتلقّى التطبيق الرسالة ويعالجها ويعرض ردًا على Google Chat.
  4. يعرض Google Chat الردّ للمستخدم أو في مساحة.

يتكرر هذا التسلسل لكل تفاعل من مستخدمي تطبيق Chat.

تتطلّب الرسائل غير المتزامنة المصادقة

تحدث الرسائل غير المتزامنة عندما يرسل تطبيق Chat طلبًا إلى واجهة برمجة تطبيقات Chat، ما يتطلّب المصادقة والتفويض.

من خلال طلب Chat API، يمكن لتطبيقات Chat نشر الرسائل في Google Chat أو إكمال المهام والوصول إلى البيانات نيابةً عن المستخدم. على سبيل المثال، بعد رصد انقطاع في الخادم، يمكن لتطبيق Chat طلب واجهة برمجة تطبيقات Chat لإجراء ما يلي:

  • أنشئ مساحة Chat مخصّصة للتحقيق في الانقطاع وإصلاحه.
  • أضِف مستخدمين إلى مساحة Chat.
  • انشر رسالة في مساحة Chat لتقديم تفاصيل حول الانقطاع.

يوضّح المخطّط البياني التالي تسلسل رسائل غير متزامن بين تطبيق Chat ومساحة Chat:

المصادقة مطلوبة للرسائل غير المتزامنة
الشكل 3. تتطلّب الرسائل غير المتزامنة المصادقة.

  1. ينشئ تطبيق Chat رسالة من خلال استدعاء Chat API باستخدام spaces.messages.create method، ويتضمّن بيانات اعتماد المستخدم في طلب HTTP.
  2. يصادق Google Chat على تطبيق Chat باستخدام حساب الخدمة أو بيانات اعتماد المستخدم.
  3. يعرض Google Chat رسالة التطبيق في مساحة Chat محدّدة.

نطاقات Chat API

اضبط شاشة طلب الموافقة المتعلّقة ببروتوكول OAuth واختَر النطاقات لتحديد المعلومات التي يتم عرضها للمستخدمين ومراجعي التطبيقات، وسجِّل تطبيقك لتتمكّن من نشره لاحقًا.

لتحديد مستوى الوصول الممنوح لتطبيقك، عليك تحديد نطاقات التفويض والإفصاح عنها. نطاق التفويض هو سلسلة OAuth 2.0 URI تحتوي على اسم تطبيق Google Workspace ونوع البيانات التي يصل إليها ومستوى الوصول.

النطاقات غير الحسّاسة

رمز النطاق الوصف
https://www.googleapis.com/auth/chat.bot

يتيح هذا الإذن لتطبيقات Chat الاطّلاع على المحادثات وإرسال الرسائل.

لا يتيح هذا النطاق سوى مصادقة التطبيق باستخدام حسابات الخدمة. لا يمكنك المصادقة باستخدام بيانات اعتماد المستخدم أو باستخدام التفويض على مستوى النطاق باستخدام هذا النطاق.

النطاقات الحسّاسة

رمز النطاق الوصف
https://www.googleapis.com/auth/chat.spaces إنشاء محادثات ومساحات والاطّلاع على البيانات الوصفية أو تعديلها (بما في ذلك إعدادات السجلّ وإعدادات الوصول) في Chat
https://www.googleapis.com/auth/chat.spaces.create إنشاء محادثات جديدة في Chat
https://www.googleapis.com/auth/chat.spaces.readonly الاطّلاع على المحادثات والمساحات في Chat
https://www.googleapis.com/auth/chat.memberships الاطّلاع على الأعضاء في المحادثات في Chat وإضافتهم وإزالتهم وتعديل معلوماتهم
https://www.googleapis.com/auth/chat.memberships.app الانضمام إلى المحادثات في Google Chat أو مغادرتها
https://www.googleapis.com/auth/chat.memberships.readonly الاطّلاع على المشاركين في محادثات Chat
https://www.googleapis.com/auth/chat.messages.create أنشئ الرسائل وأرسِلها في Chat.
https://www.googleapis.com/auth/chat.messages.reactions عرض التفاعلات مع الرسائل في Chat وإضافتها وحذفها
https://www.googleapis.com/auth/chat.messages.reactions.create إضافة تفاعلات إلى رسالة في Chat
https://www.googleapis.com/auth/chat.messages.reactions.readonly عرض التفاعلات مع رسالة في Chat
https://www.googleapis.com/auth/chat.users.readstate الاطّلاع على وقت آخر قراءة لمحادثات Chat وتعديله
https://www.googleapis.com/auth/chat.users.readstate.readonly الاطّلاع على وقت آخر قراءة لمحادثات Chat
https://www.googleapis.com/auth/chat.admin.spaces.readonly الاطّلاع على المحادثات والمساحات التي يملكها نطاق المشرف في Chat
https://www.googleapis.com/auth/chat.admin.spaces عرض أو تعديل المحادثات والمساحات التي يملكها نطاق المشرف في Chat
https://www.googleapis.com/auth/chat.admin.memberships.readonly الاطّلاع على الأعضاء والمدراء في المحادثات التي يملكها نطاق المشرف في Chat
https://www.googleapis.com/auth/chat.admin.memberships الاطّلاع على الأعضاء والمدراء في المحادثات التي يملكها نطاق المشرف في Chat وإضافتهم وتعديلهم وإزالتهم
https://www.googleapis.com/auth/chat.app.spaces

إنشاء محادثات ومساحات والاطّلاع على البيانات الوصفية أو تعديلها (بما في ذلك إعدادات السجلّ وإعدادات الوصول) في Chat كتطبيق Chat. يتطلّب ذلك موافقة المشرف.

لا يتيح هذا النطاق سوى مصادقة التطبيق باستخدام حسابات الخدمة. لا يمكنك المصادقة باستخدام بيانات اعتماد المستخدم أو باستخدام التفويض على مستوى النطاق من خلال هذا النطاق.

https://www.googleapis.com/auth/chat.app.spaces.readonly

الاطّلاع على البيانات الوصفية (بما في ذلك إعدادات السجلّ) في Chat كتطبيق في Chat، ويتطلّب ذلك موافقة المشرف

لا يتيح هذا النطاق سوى مصادقة التطبيق باستخدام حسابات الخدمة. لا يمكنك المصادقة باستخدام بيانات اعتماد المستخدم أو باستخدام التفويض على مستوى النطاق باستخدام هذا النطاق.

https://www.googleapis.com/auth/chat.app.spaces.create

إنشاء محادثات ومساحات جديدة في Chat كتطبيق Chat، ويتطلّب ذلك موافقة المشرف

لا يتيح هذا النطاق سوى مصادقة التطبيق باستخدام حسابات الخدمة. لا يمكنك المصادقة باستخدام بيانات اعتماد المستخدم أو باستخدام التفويض على مستوى النطاق باستخدام هذا النطاق.

https://www.googleapis.com/auth/chat.app.memberships

الاطّلاع على الأعضاء وإضافتهم وإزالتهم وتعديل معلوماتهم في المحادثات والمساحات في Chat كتطبيق في Chat. يتطلّب ذلك موافقة المشرف.

لا يتيح هذا النطاق سوى مصادقة التطبيق باستخدام حسابات الخدمة. لا يمكنك المصادقة باستخدام بيانات اعتماد المستخدم أو باستخدام التفويض على مستوى النطاق باستخدام هذا النطاق.

https://www.googleapis.com/auth/chat.app.memberships.readonly

الاطّلاع على الأعضاء في المحادثات والمساحات في Chat كتطبيق Chat. يتطلب ذلك موافقة المشرف.

لا يتيح هذا النطاق سوى مصادقة التطبيق باستخدام حسابات الخدمة. لا يمكنك إجراء المصادقة باستخدام بيانات اعتماد المستخدم أو باستخدام التفويض على مستوى النطاق من خلال هذا النطاق.

https://www.googleapis.com/auth/chat.customemojis عرض رموز الإيموجي المخصّصة وإنشاؤها وحذفها في Chat
https://www.googleapis.com/auth/chat.customemojis.readonly الاطّلاع على الإيموجي المخصّص في Chat
https://www.googleapis.com/auth/chat.users.spacesettings عرض إعدادات مساحة مستخدم Chat وتعديلها
https://www.googleapis.com/auth/chat.users.sections عرض الأقسام وإنشاؤها وتعديلها وحذفها في Chat، ونقل عناصر الأقسام وإدراجها في Chat
https://www.googleapis.com/auth/chat.users.sections.readonly الاطّلاع على الأقسام وعناصرها في Chat

النطاقات المحدودة

رمز النطاق الوصف
https://www.googleapis.com/auth/chat.delete حذف المحادثات والمساحات وإزالة إمكانية الوصول إلى الملفات المرتبطة بها في Chat
https://www.googleapis.com/auth/chat.import استيراد المساحات والرسائل والاشتراكات إلى Chat لمزيد من المعلومات، يُرجى الاطّلاع على المقالة تفويض تطبيقات Chat لاستيراد البيانات.
https://www.googleapis.com/auth/chat.messages عرض الرسائل وإنشاؤها وإرسالها وتعديلها وحذفها، وإضافة التفاعلات مع الرسائل وعرضها وحذفها
https://www.googleapis.com/auth/chat.messages.readonly عرض الرسائل والتفاعلات في Chat
https://www.googleapis.com/auth/chat.app.messages.readonly

عرض الرسائل والتفاعلات في Chat كتطبيق Chat يتطلّب ذلك موافقة المشرف.

لا يتيح هذا النطاق سوى مصادقة التطبيق باستخدام حسابات الخدمة. لا يمكنك المصادقة باستخدام بيانات اعتماد المستخدم أو باستخدام التفويض على مستوى النطاق باستخدام هذا النطاق.

https://www.googleapis.com/auth/chat.admin.delete حذف المحادثات والمساحات التي يملكها نطاق المشرف وإزالة إمكانية الوصول إلى الملفات المرتبطة بها في Chat
https://www.googleapis.com/auth/chat.app.delete

حذف المحادثات والمساحات وإزالة إمكانية الوصول إلى الملفات المرتبطة بها في Chat كتطبيق Chat يتطلب ذلك موافقة المشرف.

لا يتيح هذا النطاق سوى مصادقة التطبيق باستخدام حسابات الخدمة. لا يمكنك المصادقة باستخدام بيانات اعتماد المستخدم أو باستخدام التفويض على مستوى النطاق باستخدام هذا النطاق.

تشير النطاقات في الجداول السابقة إلى مدى حساسية البيانات، وفقًا للتعريفات التالية:

إذا كان تطبيقك يتطلّب الوصول إلى أيّ من واجهات Google APIs الأخرى، يمكنك إضافة هذه النطاقات أيضًا. لمزيد من المعلومات حول نطاقات Google API، يُرجى الاطّلاع على مقالة استخدام بروتوكول OAuth 2.0 للوصول إلى Google APIs.

لمزيد من المعلومات حول نطاقات واجهات برمجة تطبيقات Google Workspace، يُرجى الاطّلاع على مقالة ضبط شاشة طلب الموافقة عبر OAuth واختيار النطاقات.

أنواع المصادقة المطلوبة

هناك طريقتان يمكن من خلالهما لتطبيقات Chat المصادقة على واجهة Chat API والحصول على التفويض منها:

مصادقة المستخدم
مصادقة المستخدم تتيح لتطبيق Chat الوصول إلى بيانات المستخدم وإكمال الإجراءات نيابةً عنه. تحدّد نطاقات OAuth البيانات والإجراءات المصرّح بها. ما لم يكن تطبيق Chat مثبَّتًا من قِبل المشرف أو تم منحه تفويضًا على مستوى النطاق، في المرة الأولى التي ينفّذ فيها تطبيق Chat إجراءً نيابةً عن المستخدم، يجب أن يفوّض المستخدم تطبيق Chat باستخدام شاشة طلب الموافقة على OAuth.
مصادقة التطبيق

تتيح مصادقة التطبيق لتطبيق Chat استخدام بيانات اعتماد حساب الخدمة والوصول إلى البيانات وإكمال الإجراءات بصفته تطبيقًا. بما أنّ تطبيق Chat يستخدم بيانات الاعتماد الخاصة به للوصول إلى الموارد والعمل معها، لا يحتاج المستخدمون النهائيون إلى الموافقة على طلبات البيانات من واجهة برمجة التطبيقات في تطبيق Chat، ولا يمكنك إضافة نطاقات تفويض OAuth التي تتيح تفويض التطبيق إلى شاشة طلب الموافقة على OAuth.

يتيح نوعان من نطاقات تفويض OAuth مصادقة التطبيقات:

  • https://www.googleapis.com/auth/chat.bot: يمكن لتطبيق Chat استدعاء طرق Google Chat API التي تتيح نطاق التفويض هذا لإنشاء الموارد التي يمكنه الوصول إليها أو تعديلها أو الحصول عليها أو إدراجها أو حذفها، مثل الرسائل في المساحات التي يضيف المستخدمون النهائيون تطبيق Chat إليها. يمكن لتطبيق Chat منح نفسه نطاق التفويض هذا، ولا يلزم الحصول على تفويض من المشرف أو المستخدم النهائي.
  • https://www.googleapis.com/auth/chat.app.*: يتطلّب استخدام هذه النطاقات موافقة المشرف لمرة واحدة. للحصول على موافقة المشرف، عليك إعداد حساب خدمة تطبيق Chat للحصول على موافقة المشرف من خلال إنشاء عميل OAuth متوافق مع Google Workspace Marketplace وضبط التطبيق في حزمة تطوير البرامج (SDK) في Google Workspace Marketplace. تسمح هذه النطاقات لتطبيق Chat باستدعاء طرق محدّدة في Google Chat API. على سبيل المثال، يتيح chat.app.spaces.create للتطبيقات إنشاء مساحات Chat.

إذا كانت الطريقة تتيح مصادقة المستخدم أو التطبيق، ستعرض Chat API نتائج مختلفة استنادًا إلى نوع المصادقة الذي تستخدمه:

  • باستخدام مصادقة التطبيق، لا تعرض الطرق سوى الموارد التي يمكن تطبيق Chat الوصول إليها.
  • باستخدام مصادقة المستخدم، لا تعرض الطرق سوى الموارد التي يمكن للمستخدم الوصول إليها.

على سبيل المثال، يؤدي استدعاء الطريقة spaces.list() باستخدام تفويض التطبيق إلى عرض قائمة بالمساحات التي يكون تطبيق Chat عضوًا فيها. يؤدي طلب spaces.list() مع تفويض المستخدم إلى عرض قائمة المساحات التي يكون المستخدم عضوًا فيها. من الناحية العملية، يمكنك استخدام كلا النوعين من المصادقة عند طلب Chat API، وذلك حسب تصميم تطبيق Chat وميزاته.

لطلبات البيانات غير المتزامنة من واجهة برمجة التطبيقات Chat API

يسرد الجدول التالي طرق Chat API ونطاقات التفويض المتوافقة معها:

الطريقة مصادقة المستخدم متاحة تتوفّر ميزة مصادقة التطبيقات نطاقات التفويض المتاحة
المساحات  
إنشاء مساحة باستخدام مصادقة المستخدم:
  • chat.spaces.create
  • chat.spaces
  • chat.import
باستخدام مصادقة التطبيق وموافقة المشرف:
  • chat.app.spaces.create
  • chat.app.spaces
إعداد مساحة — باستخدام مصادقة المستخدم:
  • chat.spaces.create
  • chat.spaces
الحصول على مساحة باستخدام مصادقة المستخدم:
  • chat.spaces.readonly
  • chat.spaces
من خلال مصادقة المستخدم باستخدام امتيازات المشرف:
  • chat.admin.spaces.readonly
باستخدام مصادقة التطبيق:
  • chat.bot
باستخدام مصادقة التطبيق وموافقة المشرف:
  • chat.app.spaces
إدراج المساحات باستخدام مصادقة المستخدم:
  • chat.spaces.readonly
  • chat.spaces
باستخدام مصادقة التطبيق:
  • chat.bot
البحث في المساحات — باستخدام مصادقة المستخدم من خلال امتيازات المشرف:
  • chat.admin.spaces.readonly
تعديل مساحة باستخدام مصادقة المستخدم:
  • chat.spaces
  • chat.import
من خلال مصادقة المستخدم باستخدام امتيازات المشرف:
  • chat.admin.spaces
باستخدام مصادقة التطبيق وموافقة المشرف:
  • chat.app.spaces
حذف مساحة باستخدام مصادقة المستخدم:
  • chat.delete
  • chat.import
من خلال مصادقة المستخدم باستخدام امتيازات المشرف:
  • chat.admin.delete
باستخدام مصادقة التطبيق وموافقة المشرف:
  • chat.app.delete
إكمال عملية الاستيراد لمساحة — باستخدام مصادقة المستخدم:
  • chat.import
العثور على رسالة مباشرة باستخدام مصادقة المستخدم:
  • chat.spaces.readonly
  • chat.spaces
باستخدام مصادقة التطبيق:
  • chat.bot
الأعضاء  
إنشاء عضو باستخدام مصادقة المستخدم:
  • chat.memberships
  • chat.memberships.app
  • chat.import
من خلال مصادقة المستخدم باستخدام امتيازات المشرف:
  • chat.admin.memberships
باستخدام مصادقة التطبيق وموافقة المشرف:
  • chat.app.memberships
الحصول على عضو باستخدام مصادقة المستخدم:
  • chat.memberships.readonly
  • chat.memberships
باستخدام مصادقة التطبيق:
  • chat.bot
من خلال مصادقة المستخدم باستخدام امتيازات المشرف:
  • chat.admin.memberships.readonly
أعضاء القائمة باستخدام مصادقة المستخدم:
  • chat.memberships.readonly
  • chat.memberships
  • chat.import
باستخدام مصادقة التطبيق:
  • chat.bot
من خلال مصادقة المستخدم باستخدام امتيازات المشرف:
  • chat.admin.memberships.readonly
حذف عضو باستخدام مصادقة المستخدم:
  • chat.memberships
  • chat.memberships.app
  • chat.import
من خلال مصادقة المستخدم باستخدام امتيازات المشرف:
  • chat.admin.memberships
باستخدام مصادقة التطبيق وموافقة المشرف:
  • chat.app.memberships
تعديل عضو باستخدام مصادقة المستخدم:
  • chat.memberships
  • chat.import
من خلال مصادقة المستخدم باستخدام امتيازات المشرف:
  • chat.admin.memberships
باستخدام مصادقة التطبيق وموافقة المشرف:
  • chat.app.memberships
الرسائل  
إنشاء رسالة باستخدام مصادقة المستخدم:
  • chat.messages.create
  • chat.messages
  • chat.import
باستخدام مصادقة التطبيق:
  • chat.bot
تلقّي رسالة باستخدام مصادقة المستخدم:
  • chat.messages.readonly
  • chat.messages
باستخدام مصادقة التطبيق:
  • chat.bot
باستخدام مصادقة التطبيق وموافقة المشرف:
  • chat.app.messages.readonly
إدراج الرسائل باستخدام مصادقة المستخدم:
  • chat.messages.readonly
  • chat.messages
  • chat.import
باستخدام مصادقة التطبيق وموافقة المشرف:
  • chat.app.messages.readonly
البحث في الرسائل — باستخدام مصادقة المستخدم:
  • chat.messages.readonly
  • chat.messages
تعديل رسالة باستخدام مصادقة المستخدم:
  • chat.messages
  • chat.import
باستخدام مصادقة التطبيق:
  • chat.bot
حذف رسالة باستخدام مصادقة المستخدم:
  • chat.messages
  • chat.import
باستخدام مصادقة التطبيق:
  • chat.bot
تثبيت رسالة — باستخدام مصادقة المستخدم:
  • chat.spaces.pins
  • chat.spaces
إزالة تثبيت رسالة — باستخدام مصادقة المستخدم:
  • chat.spaces.pins
  • chat.spaces
عرض الرسائل المثبَّتة — باستخدام مصادقة المستخدم:
  • chat.spaces.pins.readonly
  • chat.spaces.readonly
  • chat.spaces.pins
  • chat.spaces
تعديل البطاقات في رسالة — باستخدام مصادقة التطبيق:
  • chat.bot
التفاعلات  
إنشاء تفاعل — باستخدام مصادقة المستخدم:
  • chat.messages.reactions.create
  • chat.messages.reactions
  • chat.messages
  • chat.import
عرض قائمة بالتفاعلات — باستخدام مصادقة المستخدم:
  • chat.messages.reactions.readonly
  • chat.messages.reactions
  • chat.messages.readonly
  • chat.messages
حذف تفاعل — باستخدام مصادقة المستخدم:
  • chat.messages.reactions
  • chat.messages
  • chat.import
رموز إيموجي مخصصة  
إنشاء إيموجي مخصّص — باستخدام مصادقة المستخدم:
  • chat.customemojis
حذف إيموجي مخصّص — باستخدام مصادقة المستخدم:
  • chat.customemojis
الحصول على إيموجي مخصّص — باستخدام مصادقة المستخدم:
  • chat.customemojis
  • chat.customemojis.readonly
عرض قائمة بالإيموجي المخصّصة — باستخدام مصادقة المستخدم:
  • chat.customemojis
  • chat.customemojis.readonly
الوسائط والمرفقات  
تحميل الوسائط كمرفق ملف — باستخدام مصادقة المستخدم:
  • chat.messages.create
  • chat.messages
  • chat.import
تنزيل الوسائط باستخدام مصادقة المستخدم:
  • chat.messages.readonly
  • chat.messages
باستخدام مصادقة التطبيق:
  • chat.bot
الحصول على مرفق رسالة — باستخدام مصادقة التطبيق:
  • chat.bot
حالات قراءة المستخدمين
الحصول على حالة قراءة مساحة مستخدم — باستخدام مصادقة المستخدم:
  • chat.users.readstate
  • chat.users.readstate.readonly
تعديل حالة قراءة مساحة مستخدم — باستخدام مصادقة المستخدم:
  • chat.users.readstate
الحصول على حالة قراءة سلسلة محادثات لمستخدم — باستخدام مصادقة المستخدم:
  • chat.users.readstate
  • chat.users.readstate.readonly
إعدادات مساحة المستخدم
الحصول على إعدادات إشعارات المساحة الخاصة بالمستخدم — باستخدام مصادقة المستخدم:
  • chat.users.spacesettings
تعديل إعدادات إشعارات المساحة لمستخدم — باستخدام مصادقة المستخدم:
  • chat.users.spacesettings
أحداث المساحات
الحصول على أحداث المساحة — عند استخدام مصادقة المستخدم، يجب استخدام نطاق استنادًا إلى نوع الحدث:
  • بالنسبة إلى الأحداث المتعلقة بالرسائل:
    • chat.messages
    • chat.messages.readonly
  • بالنسبة إلى الأحداث المتعلقة بالتفاعلات:
    • chat.messages.reactions
    • chat.messages.reactions.readonly
    • chat.messages
    • chat.messages.readonly
  • بالنسبة إلى الأحداث المتعلّقة بالعضويات:
    • chat.memberships
    • chat.memberships.readonly
  • بالنسبة إلى الأحداث المتعلقة بالمساحة:
    • chat.spaces
    • chat.spaces.readonly
إدراج أحداث المساحة — عند استخدام مصادقة المستخدم، يجب استخدام نطاق لكل نوع حدث مضمَّن في الطلب:
  • بالنسبة إلى الأحداث المتعلقة بالرسائل:
    • chat.messages
    • chat.messages.readonly
  • بالنسبة إلى الأحداث المتعلقة بالتفاعلات:
    • chat.messages.reactions
    • chat.messages.reactions.readonly
    • chat.messages
    • chat.messages.readonly
  • بالنسبة إلى الأحداث المتعلّقة بالعضويات:
    • chat.memberships
    • chat.memberships.readonly
  • بالنسبة إلى الأحداث المتعلقة بالمساحة:
    • chat.spaces
    • chat.spaces.readonly
الأقسام  
إنشاء قسم — باستخدام مصادقة المستخدم:
  • chat.users.sections
حذف قسم — باستخدام مصادقة المستخدم:
  • chat.users.sections
أقسام القائمة — باستخدام مصادقة المستخدم:
  • chat.users.sections
  • chat.users.sections.readonly
تعديل قسم — باستخدام مصادقة المستخدم:
  • chat.users.sections
تحديد موضع قسم — باستخدام مصادقة المستخدم:
  • chat.users.sections
Section Items  
نقل عنصر في قسم — باستخدام مصادقة المستخدم:
  • chat.users.sections
List section items — باستخدام مصادقة المستخدم:
  • chat.users.sections
  • chat.users.sections.readonly

بالنسبة إلى أحداث التفاعل مع تطبيق Chat

يسرد الجدول التالي الطرق الشائعة التي يتفاعل بها المستخدمون مع تطبيقات Chat وما إذا كانت المصادقة مطلوبة أو متوافقة:

السيناريو لا يلزم إجراء مصادقة مصادقة المستخدم متاحة تتوفّر ميزة مصادقة التطبيقات
تلقّي الرسائل من:
أحداث التفاعل مع تطبيق Chat — —
عمليات معاودة الاتصال في "برمجة تطبيقات Google" — —
Google Cloud Pub/Sub — —
الرد على الرسائل:
بشكل متزامن، باستخدام حدث تفاعل مع تطبيق Chat — —
بشكل متزامن، باستخدام قيمة ردّ دالة ردّ الاتصال في "برمجة تطبيقات Google" — —
إرسال رسائل جديدة:
باستخدام الويب هوك الواردة — —