المصادقة والترخيص هما آليتان تستخدمان للتحقق من الهوية والوصول إلى الموارد، على التوالي. توضح هذه الوثيقة كيف يمكن أن تتم المصادقة منح الإذن لتطبيقات Chat وطلبات واجهة برمجة التطبيقات في Chat.
نظرة عامة على العملية
يوضح الرسم التخطيطي التالي الخطوات عالية المستوى للمصادقة تفويض لـ Google Chat:
![خطوات عالية المستوى لمصادقة Google Chat وتفويضه](https://developers.google.cn/static/workspace/chat/images/auth-process.png?authuser=7&hl=ar)
ضبط مشروع على 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 API أخرى أثناء تتم معالجة الرد.
لإرسال رسائل غير متزامنة أو تنفيذ المهام نيابةً عن المستخدم، تقدّم تطبيقات Chat طلبات غير مرغوب فيها إلى Chat API التي تتطلب مصادقة وتفويض.
لا تتطلب الردود على تفاعلات المستخدمين المصادقة
لا تحتاج تطبيقات Google Chat إلى المصادقة كمستخدم أو تطبيق Chat لتلقّي الرسائل والردّ عليها بشكل متزامن أحداث التفاعل:
تتلقّى تطبيقات Google Chat أحداث التفاعل عندما يتفاعل أحد المستخدمين أو تطبيق Chat، بما في ذلك ما يلي:
- يُرسِل مستخدم رسالة إلى تطبيق Chat.
- يشير أحد المستخدمين إلى تطبيق Chat باستخدام @.
- يستدعي أحد المستخدمين أحد تطبيقات Chat أوامر الشرطة المائلة.
يوضح الرسم التخطيطي التالي تسلسل الطلب والاستجابة بين مستخدم Google Chat وتطبيق Chat:
![ما مِن تفويض مطلوب لأحداث التفاعل مع تطبيقات Chat.](https://developers.google.cn/static/workspace/chat/images/auth-synchronous.png?authuser=7&hl=ar)
- يرسل المستخدم رسالة إلى تطبيق 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":
![المصادقة مطلوبة للرسائل غير المتزامنة](https://developers.google.cn/static/workspace/chat/images/auth-asynchronous.png?authuser=7&hl=ar)
- ينشئ تطبيق Chat رسالة من خلال استدعاء
واجهة برمجة تطبيقات Chat باستخدام
spaces.messages.create
، وتشمل بيانات اعتماد المستخدم في طلب HTTP. - يصادق Google Chat تطبيق Chat باستخدام حساب الخدمة أو بيانات اعتماد المستخدم.
- يعرض Google Chat رسالة التطبيق إلى Chat محدد مساحة.
نطاقات واجهات برمجة تطبيقات Chat
ضبط شاشة موافقة 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.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.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 |
تشير النطاقات في الجداول السابقة إلى حساسيتها، وفقًا التعريفات التالية:
غير حساسة - توفر هذه النطاقات أصغر مجال الوصول إلى التفويض ولا تتطلب سوى التحقق الأساسي من التطبيق. بالنسبة المعلومات حول هذا الشرط، راجع خطوات الاستعداد التحقق.
حسّاس: تتيح هذه النطاقات لتطبيقك إمكانية الوصول إلى مجموعة محدّدة من البيانات بيانات المستخدم على Google بعد تلقي التفويض من المستخدم. يتطلب بإجراء خطوات إضافية لإثبات ملكية التطبيق. للحصول على معلومات حول هذا الموضوع يُرجى الاطّلاع على القسم خطوات التطبيقات التي تطلب الحصول على معلومات حساسة والنطاقات.
محدود: توفِّر هذه النطاقات وصولاً واسع النطاق إلى بيانات مستخدمي Google. وتتطلب منك اتّباع عملية التحقّق من النطاق المشروط بالنسبة للحصول على معلومات حول هذا الشرط، راجِع خدمات Google API: بيانات المستخدمين السياسة والمتطلبات الإضافية لواجهة برمجة التطبيقات المحدّدة النطاقات: يُرجى الاطّلاع أيضًا على خطوات التطبيقات التي تطلب حظرًا. والنطاقات.
إذا كان تطبيقك يتطلب الوصول إلى أيّ واجهات Google APIs أخرى، يمكنك إضافة هذه النطاقات. كذلك. لمزيد من المعلومات حول نطاقات واجهة برمجة تطبيقات Google، يمكنك الاطّلاع على استخدام OAuth 2.0 من أجل الوصول إلى Google APIs
لمزيد من المعلومات عن نطاقات واجهات برمجة التطبيقات في Google Workspace، يُرجى الاطّلاع على ضبط شاشة موافقة OAuth واختيار النطاقات
أنواع المصادقة المطلوبة
هناك طريقتان يمكن للتطبيقات في Chat للمصادقة والتفويض باستخدام Chat API: بيانات اعتماد المستخدم أو حسابات الخدمة
باستخدام تفويض بيانات اعتماد المستخدم، يمكن لتطبيق Chat الوصول إلى بيانات المستخدم وإكمال الإجراءات نيابةً عنه. تحدّد نطاقات OAuth البيانات والإجراءات المسموح بها.
من خلال تفويض التطبيق، يمكن لتطبيق Chat الوصول إلى
واجهة برمجة التطبيقات كتطبيق باستخدام بيانات اعتماد حساب الخدمة. تفويض التطبيق دائمًا
يستخدم نطاق تفويض chat.bot
.
عند تحديد نوع بيانات الاعتماد التي سيتم استخدامها لطلب بيانات معين من واجهة برمجة التطبيقات، يُرجى الأخذ في الاعتبار أن بعض طرق واجهة برمجة التطبيقات لا تتوافق إلا مع نوع معين من بيانات اعتمادك. إذا كانت طريقة واجهة برمجة التطبيقات تتوافق مع كلا بيانات الاعتماد، فإن نوع بيانات الاعتماد المستخدم في المكالمة يؤثر في النتيجة التي يتم إرجاعها:
- باستخدام تفويض التطبيق، لا تعرض الطرق سوى الموارد التي يمكن للتطبيق عرضها. الوصول إليه.
- باستخدام تفويض المستخدم، لا تعرض الطرق سوى الموارد التي يملكها المستخدم يمكنهم الوصول إليه في واجهة مستخدم Chat.
على سبيل المثال، يؤدي استدعاء طريقة ListSpaces
باستخدام تفويض التطبيق إلى إرجاع
قائمة بالمساحات التي يكون التطبيق عضوًا فيها. جارٍ الاتصال بالرقم ListSpaces
مع المستخدم
يؤدي التفويض إلى عرض قائمة المساحات التي يكون المستخدم عضوًا فيها. ضِمن
التدريب، فقد يستخدم تطبيقك كلا النوعين من التفويض عند استدعاء
Chat API بناءً على الوظيفة التي تريدها.
لطلبات البيانات غير المتزامنة من واجهة برمجة التطبيقات في Chat
يسرد الجدول التالي طرق Chat API وطُرقها المتوافقة. نطاقات التفويض:
الطريقة | مصادقة المستخدم متاحة | مصادقة التطبيقات متاحة | نطاقات الأذونات المتاحة | |
---|---|---|---|---|
المساحات | ||||
إنشاء مساحة | — |
باستخدام مصادقة المستخدم:
|
||
إعداد مساحة | — |
باستخدام مصادقة المستخدم:
|
||
الحصول على مساحة |
باستخدام مصادقة المستخدم:
|
|||
مساحات العمل |
باستخدام مصادقة المستخدم:
|
|||
البحث في المساحات |
من خلال مصادقة المستخدم باستخدام امتيازات المشرف:
|
|||
تعديل مساحة | — |
باستخدام مصادقة المستخدم:
|
||
حذف مساحة | — |
باستخدام مصادقة المستخدم:
|
||
إكمال عملية استيراد مساحة | — |
باستخدام مصادقة المستخدم:
|
||
العثور على رسالة مباشرة |
باستخدام مصادقة المستخدم:
|
|||
الأعضاء | ||||
إنشاء عضو | — |
باستخدام مصادقة المستخدم:
|
||
الاشتراك في القناة |
باستخدام مصادقة المستخدم:
|
|||
أعضاء القائمة |
باستخدام مصادقة المستخدم:
|
|||
حذف عضو | — |
باستخدام مصادقة المستخدم:
|
||
تعديل معلومات عضو | — |
باستخدام مصادقة المستخدم:
|
||
الرسائل | ||||
إنشاء رسالة |
باستخدام مصادقة المستخدم:
|
|||
تلقّي رسالة |
باستخدام مصادقة المستخدم:
|
|||
إدراج الرسائل | — |
باستخدام مصادقة المستخدم:
|
||
تعديل رسالة |
باستخدام مصادقة المستخدم:
|
|||
حذف رسالة |
باستخدام مصادقة المستخدم:
|
|||
التفاعلات | ||||
إنشاء تفاعل | — |
باستخدام مصادقة المستخدم:
|
||
سرد التفاعلات | — |
باستخدام مصادقة المستخدم:
|
||
حذف تفاعل | — |
باستخدام مصادقة المستخدم:
|
||
الوسائط المرفقات | ||||
تحميل الوسائط كمرفق ملف | — |
باستخدام مصادقة المستخدم:
|
||
تنزيل الوسائط |
باستخدام مصادقة المستخدم:
|
|||
الحصول على مرفق رسالة | — |
باستخدام مصادقة التطبيقات:
|
||
حالات قراءة المستخدم | ||||
الحصول على حالة قراءة مساحة المستخدم | — |
باستخدام مصادقة المستخدم:
|
||
تعديل حالة قراءة مساحة المستخدم | — |
باستخدام مصادقة المستخدم:
|
||
الحصول على حالة قراءة سلسلة محادثات المستخدم | — |
باستخدام مصادقة المستخدم:
|
||
أحداث المساحة | ||||
الحصول على أحداث المساحة | — |
باستخدام مصادقة المستخدم،
يجب عليك استخدام نطاق بناءً على
نوع الفعالية:
|
||
سرد أحداث المساحة | — |
باستخدام مصادقة المستخدم،
يجب عليك استخدام نطاق لكل
نوع الحدث المضمّن في الطلب:
|
بالنسبة إلى أحداث التفاعل مع تطبيقات Chat
يسرد الجدول التالي الطرق الشائعة التي يتفاعل بها المستخدمون مع تطبيقات Chat وما إذا كانت المصادقة مطلوبة أو متاحة:
السيناريو | المصادقة غير مطلوبة | مصادقة المستخدم متاحة | مصادقة التطبيقات متاحة | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
تلقّي رسائل من: |
|
|||||||||||||||
الرد على الرسائل: |
|
|||||||||||||||
إرسال رسائل جديدة: |
|
مواضيع ذات صلة
- لإلقاء نظرة عامة على المصادقة والترخيص في Google Workspace، الرؤية مزيد من المعلومات عن المصادقة التفويض.
- للحصول على نظرة عامة على المصادقة والترخيص في Google Cloud، راجع نظرة عامة على المصادقة.
- لمزيد من المعلومات عن حسابات الخدمة، يُرجى مراجعة حسابات الخدمة:
- لمزيد من المعلومات حول كيفية استفادة واجهات برمجة تطبيقات Google من بروتوكول OAuth 2.0، يمكنك الاطّلاع على استخدام OAuth 2.0 للوصول إلى Google APIs
- إعداد المصادقة والترخيص باستخدام بيانات اعتماد المستخدم أو a حساب الخدمة.