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

ضبط مشروع على Google Cloud وتفعيل Chat API وضبط تطبيق Chat: أثناء التطوير، يمكنك إنشاء مشروع على Google Cloud. في مشروع Google Cloud، يمكنك تفعيل Chat API وضبط تطبيق Chat وإعداد المصادقة. لمزيد من المعلومات، يُرجى الاطّلاع على مقالة التطوير على Google Workspace وإنشاء تطبيق Chat.
Call Chat API: عندما يطلب تطبيقك واجهة برمجة تطبيقات Chat، يُرسِل بيانات اعتماد المصادقة إلى Chat API. وفي حال تمت مصادقة تطبيقك باستخدام حساب خدمة، يتم إرسال بيانات الاعتماد كجزء من رمز التطبيق. إذا كان تطبيقك يتطلب استدعاء واجهة برمجة تطبيقات Chat باستخدام مصادقة مستخدم لم يتم منحها بعد، سيطلب المستخدم تسجيل الدخول.
طلب الموارد: يطلب تطبيقك الحصول على إذن الوصول باستخدام النطاقات التي تحدِّدها أثناء إعداد المصادقة.
طلب الموافقة: في حال كان تطبيقك قيد المصادقة كمستخدم، تعرض Google شاشة طلب الموافقة المتعلّقة ببروتوكول OAuth ليتمكّن المستخدم من تحديد ما إذا كان يريد منح تطبيقك إذن الوصول إلى البيانات المطلوبة. ولا تتطلب المصادقة باستخدام حساب الخدمة موافقة المستخدم.
إرسال طلب موافَق عليه للحصول على موارد: في حال وافق المستخدم على نطاقات التفويض، سيجمع تطبيقك بيانات الاعتماد للنطاقات التي وافق عليها المستخدم في الطلب. يتم إرسال الطلب إلى خادم تفويض Google للحصول على رمز الدخول.
إرجاع Google لرمز الدخول: يحتوي رمز الدخول على قائمة بالنطاقات الممنوحة. إذا كانت قائمة النطاقات المعروضة أكثر تقييدًا من النطاقات المطلوبة، سيوقف تطبيقك أي ميزات محدودة بالرمز المميّز.
الوصول إلى الموارد المطلوبة: يستخدم تطبيقك رمز الدخول من Google لاستدعاء Chat API والوصول إلى موارد Chat API.
الحصول على الرمز المميّز لإعادة التحميل (اختياري): إذا كان يجب أن يصل تطبيقك إلى واجهة برمجة تطبيقات Google Chat بعد استخدام رمز دخول واحد منذ إنشائه، يمكن أن يحصل التطبيق على رمز مميّز للتحديث. لمزيد من المعلومات، يُرجى الاطّلاع على استخدام OAuth 2.0 للوصول إلى Google APIs.
طلب مزيد من الموارد: إذا كان تطبيقك بحاجة إلى مزيد من الوصول، سيطلب من المستخدم منح نطاقات جديدة، ما يؤدي إلى إنشاء طلب جديد للحصول على رمز دخول (الخطوات من 3 إلى 6).
عندما تتطلب تطبيقات Chat المصادقة
يمكن لتطبيقات Chat إرسال الرسائل استجابةً لتفاعل المستخدِم أو بشكل غير متزامن. ويمكنهم أيضًا إكمال المهام نيابةً عن المستخدم، مثلاً إنشاء مساحة Chat أو الحصول على قائمة بالمستخدمين في مساحة Chat.
لا تطلب تطبيقات Chat المصادقة للاستجابة إلى تفاعل المستخدم، ما لم يستدعي تطبيق Chat Chat API أو واجهة برمجة تطبيقات أخرى من Google API أثناء معالجة الردّ.
لإرسال رسائل غير متزامنة أو تنفيذ مهام نيابةً عن المستخدم، تُجري تطبيقات 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
|
لا يتوافق النطاق يسمح هذا الخيار للتطبيقات في Chat بعرض المحادثات وإرسال الرسائل. يمنح إمكانية الوصول إلى جميع الميزات المتاحة لتطبيقات 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.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 |
تشير النطاقات في الجداول السابقة إلى مستوى حساسيتها، وفقًا للتعريفات التالية:
غير حساسة - توفر هذه النطاقات أصغر مجال للوصول إلى التفويض ولا تتطلب سوى التحقق الأساسي من التطبيق. للحصول على معلومات حول هذه المتطلبات، راجع خطوات التحضير لعملية التحقق.
البيانات الحساسة: تتيح هذه النطاقات إمكانية وصول تطبيقك إلى بيانات المستخدم على Google بعد الحصول على إذن منه. يتطلب الأمر منك إجراء عملية إضافية للتحقق من التطبيق. وللحصول على معلومات حول هذا المطلب، راجع خطوات التطبيقات التي تطلب نطاقات حساسة.
مقيَّد - توفر هذه النطاقات إمكانية الوصول على نطاق واسع إلى بيانات مستخدم Google، وتتطلب منك إجراء عملية التحقق من النطاق المحدود. للحصول على معلومات عن هذه المتطلبات، يُرجى الاطّلاع على خدمات Google API: سياسة بيانات المستخدمين والمتطلبات الإضافية لنطاقات معيّنة لواجهة برمجة التطبيقات. راجع أيضًا خطوات التطبيقات التي تطلب نطاقات مشروطة.
وإذا كان تطبيقك يتطلب الوصول إلى أي من واجهات Google APIs الأخرى، يمكنك إضافة هذه النطاقات أيضًا. لمزيد من المعلومات عن نطاقات Google API، يُرجى الاطّلاع على استخدام OAuth 2.0 للوصول إلى Google APIs.
لمزيد من المعلومات عن نطاقات واجهات برمجة تطبيقات Google Workspace، يُرجى الاطّلاع على ضبط شاشة موافقة OAuth واختيار النطاقات.
أنواع المصادقة المطلوبة
هناك طريقتان يمكن من خلالهما لتطبيقات Chat إجراء المصادقة والتفويض باستخدام Chat API، وهما: بيانات اعتماد المستخدم أو حسابات الخدمة.
باستخدام تفويض بيانات اعتماد المستخدم، يمكن لتطبيق Chat الوصول إلى بيانات المستخدم وإكمال الإجراءات نيابةً عنه. تحدد نطاقات OAuth البيانات والإجراءات المسموح بها. ومع ذلك، لا يمكن نشر تطبيقات Chat هذه بشكل علني. لمزيد من المعلومات، راجِع نشر تطبيقات Google Chat.
عند الحصول على تفويض التطبيق، يصل تطبيق Chat
إلى واجهة برمجة التطبيقات كتطبيق باستخدام بيانات اعتماد حساب الخدمة. تستخدم ميزة تفويض التطبيق دائمًا
نطاق تفويض chat.bot
إذا كنت مشرف نطاق، يمكنك منح تفويض مرجع على مستوى النطاق لتفويض حساب خدمة التطبيق بالوصول إلى بيانات المستخدمين بدون مطالبة كل مستخدم بتقديم الموافقة. بعد ضبط التفويض على مستوى النطاق، يمكنك إجراء طلبات بيانات من واجهة برمجة التطبيقات باستخدام حساب الخدمة لانتحال هوية حساب مستخدم. على الرغم من استخدام حساب الخدمة للمصادقة، فإنّ التفويض على مستوى النطاق ينتحل هوية المستخدم وبالتالي يتم اعتباره مصادقة المستخدم. يمكن لأي وظيفة تتطلب مصادقة المستخدم استخدام التفويض على مستوى النطاق.
عند تحديد نوع بيانات الاعتماد الذي سيتم استخدامه لطلب معيّن من واجهة برمجة التطبيقات، يُرجى مراعاة أنّ بعض طرق واجهة برمجة التطبيقات لا تتيح سوى نوع معيّن من بيانات الاعتماد. إذا كانت طريقة واجهة برمجة التطبيقات توفر كلتا بيانات الاعتماد، يؤثر نوع بيانات الاعتماد المستخدمة في الاستدعاء على النتيجة التي يتم عرضها:
- باستخدام إذن التطبيق، لا تعرض الطرق سوى الموارد التي يمكن للتطبيق الوصول إليها.
- باستخدام إذن المستخدم، لا تعرض الطرق سوى الموارد التي يمكن للمستخدم الوصول إليها في واجهة مستخدم Chat.
على سبيل المثال، يؤدي استدعاء الإجراء ListSpaces
باستخدام إذن التطبيق إلى عرض قائمة المساحات التي ينتمي إليها التطبيق. يؤدي استدعاء ListSpaces
مع تفويض
المستخدم إلى عرض قائمة المساحات التي ينتمي إليها المستخدم. من الناحية العملية، قد يستخدم تطبيقك كلا النوعين من الأذونات عند استدعاء واجهة برمجة تطبيقات Chat، اعتمادًا على الوظيفة التي تريدها.
بالنسبة إلى طلبات البيانات غير المتزامنة من Chat API
يسرد الجدول التالي طرق واجهة برمجة تطبيقات Chat ونطاقات التفويض المعتمدة لها:
الطريقة | دعم مصادقة المستخدم | دعم مصادقة التطبيقات | نطاقات التفويض المتوافقة | |
---|---|---|---|---|
المساحات | ||||
إنشاء مساحة | — |
باستخدام مصادقة المستخدم:
|
||
إعداد مساحة | — |
باستخدام مصادقة المستخدم:
|
||
الحصول على مساحة |
باستخدام مصادقة المستخدم:
|
|||
مساحات القائمة |
باستخدام مصادقة المستخدم:
|
|||
تعديل مساحة | — |
باستخدام مصادقة المستخدم:
|
||
حذف مساحة | — |
باستخدام مصادقة المستخدم:
|
||
إكمال عملية استيراد مساحة | — |
باستخدام مصادقة المستخدم:
|
||
البحث عن رسالة مباشرة |
باستخدام مصادقة المستخدم:
|
|||
الأعضاء | ||||
إنشاء اشتراك داعم | — |
باستخدام مصادقة المستخدم:
|
||
الاشتراك |
باستخدام مصادقة المستخدم:
|
|||
أعضاء القائمة |
باستخدام مصادقة المستخدم:
|
|||
حذف عضو | — |
باستخدام مصادقة المستخدم:
|
||
الرسائل | ||||
إنشاء رسالة |
باستخدام مصادقة المستخدم:
|
|||
تلقّي رسالة |
باستخدام مصادقة المستخدم:
|
|||
سرد الرسائل | — |
باستخدام مصادقة المستخدم:
|
||
تعديل رسالة |
باستخدام مصادقة المستخدم:
|
|||
حذف رسالة |
باستخدام مصادقة المستخدم:
|
|||
التفاعلات | ||||
إنشاء تفاعل | — |
باستخدام مصادقة المستخدم:
|
||
إدراج التفاعلات | — |
باستخدام مصادقة المستخدم:
|
||
حذف تفاعل | — |
باستخدام مصادقة المستخدم:
|
||
الوسائط والمرفقات | ||||
تحميل الوسائط كمرفق ملف | — |
باستخدام مصادقة المستخدم:
|
||
تنزيل الوسائط |
باستخدام مصادقة المستخدم:
|
|||
تلقّي مرفق رسالة | — |
باستخدام مصادقة التطبيقات:
|
بالنسبة إلى أحداث التفاعل مع تطبيقات Chat
يسرد الجدول التالي الطرق الشائعة التي يتفاعل بها المستخدمون مع تطبيقات Chat وما إذا كانت المصادقة مطلوبة أو متاحة:
السيناريو | لا تلزم المصادقة | دعم مصادقة المستخدم | دعم مصادقة التطبيقات | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
تلقّي رسائل من: |
|
|||||||||||||||
الرد على الرسائل: |
|
|||||||||||||||
إرسال رسائل جديدة: |
|
مواضيع ذات صلة
- للحصول على نظرة عامة عن المصادقة والتفويض في Google Workspace، راجِع التعرّف على المصادقة والتفويض.
- لإلقاء نظرة عامة على المصادقة والتفويض في Google Cloud، يُرجى الاطّلاع على نظرة عامة على المصادقة.
- لمزيد من المعلومات حول حسابات الخدمة، راجع حسابات الخدمة.
- لمعرفة المزيد من المعلومات عن كيفية استفادة Google APIs من OAuth 2.0، يُرجى الاطّلاع على استخدام OAuth 2.0 للوصول إلى Google APIs.
- عليك إعداد المصادقة والتفويض باستخدام بيانات اعتماد المستخدم أو حساب الخدمة.