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