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

إعداد مشروع على Google Cloud وتفعيل Chat API وإعداد تطبيق Chat: أثناء عملية التطوير، عليك إنشاء مشروع على Google Cloud. في مشروع Google Cloud، يمكنك تفعيل Chat API وتكوين تطبيق Chat وإعداد المصادقة. لمزيد من المعلومات، يُرجى الاطّلاع على التطوير على Google Workspace وإنشاء تطبيق Chat.
طلب بيانات من Chat API: عندما يطلب تطبيقك بيانات من Chat API، يرسل بيانات اعتماد المصادقة إلى Chat API. إذا كان تطبيقك يثبت صحة بياناته باستخدام حساب خدمة، يتم إرسال بيانات الاعتماد كجزء من الرمز البرمجي لتطبيقك. إذا كان تطبيقك يتطلّب إجراء مكالمة إلى Chat API باستخدام مصادقة مستخدم لم يتم منحها بعد، سيطلب التطبيق من المستخدم تسجيل الدخول.
طلب موارد: يطلب تطبيقك الوصول باستخدام نطاقات تحدّدها أثناء إعداد المصادقة.
طلب الموافقة: إذا كان تطبيقك يصادق على هوية المستخدم، يعرض Google شاشة موافقة OAuth ليتمكّن المستخدم من تحديد ما إذا كان سيمنح تطبيقك إذن الوصول إلى البيانات المطلوبة. لا تتطلّب المصادقة باستخدام حساب خدمة موافقة المستخدم.
إرسال طلب تمت الموافقة عليه للحصول على موارد: إذا وافق المستخدم على نطاقات التفويض، يجمّع تطبيقك بيانات الاعتماد والنطاقات التي وافق عليها المستخدم في طلب واحد. يتم إرسال الطلب إلى خادم التفويض التابع لـ Google للحصول على رمز دخول.
ترسل Google رمزًا مميزًا للوصول: يحتوي رمز الوصول على قائمة بالنطاقات الممنوحة. إذا كانت قائمة النطاقات التي تم إرجاعها أكثر تقييدًا من النطاقات المطلوبة، سيوقف تطبيقك أي ميزات يحدّها الرمز المميز.
الوصول إلى الموارد المطلوبة: يستخدم تطبيقك رمز الدخول من Google لاستدعاء Chat API والوصول إلى موارد Chat API.
الحصول على رمز إعادة تحميل (اختياري): إذا كان تطبيقك بحاجة إلى الوصول إلى Google Chat API بعد انتهاء مدة صلاحية رمز الدخول، يمكنه الحصول على رمز إعادة تحميل. لمزيد من المعلومات، يُرجى الاطّلاع على مقالة استخدام بروتوكول OAuth 2.0 للوصول إلى Google APIs.
طلب المزيد من الموارد: إذا كان تطبيقك يحتاج إلى المزيد من إذن الوصول، سيطلب من المستخدم منح نطاقات جديدة، ما يؤدي إلى تقديم طلب جديد للحصول على رمز دخول (الخطوات من 3 إلى 6).
الحالات التي تتطلّب فيها تطبيقات Chat المصادقة
يمكن لتطبيقات Chat إرسال رسائل استجابةً لتفاعل المستخدم أو بشكل غير متزامن. يمكنها أيضًا إكمال مهام نيابةً عن المستخدم، مثل إنشاء مساحة في Chat أو الحصول على قائمة بالمستخدمين في مساحة Chat.
لا تتطلّب تطبيقات Chat مصادقة للردّ على تفاعل المستخدم، ما لم تستدعِ تطبيق Chat Chat API أو واجهة برمجة تطبيقات أخرى من Google أثناء معالجة الردّ.
لإرسال رسائل غير متزامنة أو تنفيذ مهام نيابةً عن مستخدم، ترسل تطبيقات Chat طلبات RESTful إلى Chat API، ما يتطلّب المصادقة والتفويض.
لا تتطلّب الردود على تفاعلات المستخدمين مصادقة
لا تحتاج تطبيقات Google Chat إلى المصادقة كمستخدم أو كتطبيق Chat لتلقّي أحداث التفاعل والردّ عليها بشكل متزامن.
تتلقّى تطبيقات Google Chat أحداث التفاعل عندما يتفاعل المستخدم مع تطبيق Chat أو يستدعيه، بما في ذلك ما يلي:
- يرسل مستخدم رسالة إلى تطبيق Chat.
- يشير مستخدم إلى تطبيق Chat باستخدام علامة @.
- يستدعي المستخدم أحد أوامر تطبيق Chat.
يوضّح الرسم البياني التالي تسلسل طلب واستجابة بين مستخدم Chat وتطبيق Chat:

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

- ينشئ تطبيق Chat رسالة من خلال طلب بيانات من Chat API باستخدام طريقة
spaces.messages.create
، ويتضمّن بيانات اعتماد المستخدم في طلب HTTP. - يصادق Google Chat على تطبيق Chat باستخدام حساب الخدمة أو بيانات اعتماد المستخدم.
- يعرض Google Chat رسالة التطبيق في مساحة Chat محددة.
نطاقات Chat API
ضبط شاشة موافقة بروتوكول OAuth واختيار النطاقات لتحديد المعلومات التي يتم عرضها للمستخدمين ومراجعي التطبيقات، وتسجيل تطبيقك كي تتمكّن من نشره لاحقًا
لتحديد مستوى الوصول الممنوح لتطبيقك، عليك تحديد نطاقات التفويض والإفصاح عنها. نطاق التفويض هو سلسلة معرّف موارد منتظم (URI) خاص ببروتوكول OAuth 2.0 يحتوي على اسم تطبيق Google Workspace ونوع البيانات التي يمكنه الوصول إليها ومستوى الوصول.
النطاقات غير الحسّاسة
رمز النطاق | الوصف |
---|---|
https://www.googleapis.com/auth/chat.bot
|
تسمح هذه الأذونات لتطبيقات Lets 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 يتطلّب ذلك الحصول على موافقة المشرف. يتيح هذا النطاق مصادقة التطبيق باستخدام حسابات الخدمة فقط. لا يمكنك المصادقة باستخدام بيانات اعتماد المستخدم أو باستخدام تفويض على مستوى النطاق باستخدام هذا النطاق. |
https://www.googleapis.com/auth/chat.app.spaces.create
|
إنشاء محادثات ومساحات جديدة في Chat يتطلّب ذلك الحصول على موافقة المشرف. يتيح هذا النطاق مصادقة التطبيق باستخدام حسابات الخدمة فقط. لا يمكنك المصادقة باستخدام بيانات اعتماد المستخدم أو باستخدام تفويض على مستوى النطاق باستخدام هذا النطاق. |
https://www.googleapis.com/auth/chat.app.memberships
|
الاطّلاع على الأعضاء وإضافتهم وإزالتهم وتعديل معلوماتهم في المحادثات والمساحات في 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.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.admin.delete
|
حذف المحادثات والمساحات التي يملكها نطاق المشرف وإزالة إمكانية الوصول إلى الملفات المرتبطة بها في Chat |
https://www.googleapis.com/auth/chat.app.delete
|
حذف المحادثات والمساحات وإزالة إمكانية الوصول إلى الملفات المرتبطة بها في Chat يتطلّب ذلك موافقة المشرف. يتيح هذا النطاق مصادقة التطبيق باستخدام حسابات الخدمة فقط. لا يمكنك المصادقة باستخدام بيانات اعتماد المستخدم أو باستخدام تفويض على مستوى النطاق باستخدام هذا النطاق. |
تشير النطاقات في الجداول السابقة إلى مستوى حساسيتها، وفقًا للتعريفات التالية:
غير حساسة: توفّر هذه النطاقات أصغر نطاق من أذونات الوصول، ولا تتطلّب سوى التحقّق الأساسي من التطبيق. للحصول على معلومات حول هذا الشرط، يُرجى الاطّلاع على خطوات الاستعداد لإثبات الملكية.
الحسّاسة: تمنح هذه النطاقات تطبيقك إذن الوصول إلى بيانات مستخدم معيّن على Google بعد الحصول على تفويض منه. ويتطلّب ذلك اتّباع خطوات إضافية لتأكيد التطبيق. للحصول على معلومات حول هذا الشرط، يُرجى الاطّلاع على خطوات التطبيقات التي تطلب نطاقات حساسة.
مقيّد: تتيح هذه النطاقات الوصول على نطاق واسع إلى بيانات مستخدمي Google، وتتطلّب منك إكمال عملية إثبات ملكية النطاق المقيّد. للحصول على معلومات حول هذا الشرط، يُرجى الاطّلاع على خدمات Google API: سياسة بيانات المستخدمين والمتطلبات الإضافية لنطاقات معيّنة من واجهات برمجة التطبيقات. يمكنك أيضًا الاطّلاع على خطوات التطبيقات التي تطلب نطاقات محدودة.
إذا كان تطبيقك يتطلّب الوصول إلى أي واجهات برمجة تطبيقات أخرى من Google، يمكنك إضافة هذه النطاقات أيضًا. لمزيد من المعلومات عن نطاقات 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
يعرض الجدول التالي الطرق الشائعة التي يتفاعل بها المستخدمون مع تطبيقات Chat وما إذا كانت المصادقة مطلوبة أو متاحة:
السيناريو | لا يلزم إجراء مصادقة | مصادقة المستخدم متاحة | مصادقة التطبيقات متاحة | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
تلقّي الرسائل من: |
|
|||||||||||||||
الردّ على الرسائل: |
|
|||||||||||||||
إرسال رسائل جديدة: |
|
مواضيع ذات صلة
- للحصول على نظرة عامة حول المصادقة والتفويض في Google Workspace، يُرجى الاطّلاع على التعرّف على المصادقة والتفويض.
- للحصول على نظرة عامة حول المصادقة والتفويض في Google Cloud، راجِع نظرة عامة حول المصادقة.
- لمزيد من المعلومات عن حسابات الخدمة، يُرجى الاطّلاع على حسابات الخدمة.
- لمزيد من المعلومات حول كيفية استخدام Google APIs لبروتوكول OAuth 2.0، يُرجى الاطّلاع على مقالة استخدام بروتوكول OAuth 2.0 للوصول إلى Google APIs.
- يمكنك إعداد المصادقة والتفويض باستخدام بيانات اعتماد المستخدم أو حساب خدمة.