توضّح هذه الصفحة كيفية ربط تطبيق Google Chat بخدمة أو أداة خارج Google Chat. على الرغم من أنّ تطبيقات Chat فعالة بحد ذاتها، إلا أنّها تعمل غالبًا مع أنظمة أخرى وتتطلّب تطبيقات مصاحبة لربط الحسابات أو تفويض الوصول إلى البيانات أو عرض بيانات إضافية أو ضبط الإعدادات المفضّلة للمستخدم.
المتطلبات الأساسية
تطبيق Google Chat مفعَّل فيه الميزات التفاعلية لإنشاء تطبيق Chat تفاعلي، أكمِل أحد عمليات البدء السريع التالية استنادًا إلى بنية التطبيق التي تريد استخدامها:- خدمة HTTP باستخدام Google Cloud Functions
- Google Apps Script
- Google Cloud Dialogflow CX
- Google Cloud Pub/Sub
طلب ضبط إعدادات تطبيق Chat من مستخدم
إذا كان إكمال طلب يتطلّب عملية ضبط إضافية لا يمكن إكمالها مباشرةً في تطبيق Chat، يمكنك إرسال عنوان URL لإعدادات العميل كجزء من ردّ عادي، أو تقديمه بشكل خاص، بالشكل التالي:
{ "actionResponse": { "type": "REQUEST_CONFIG", "url": "CONFIGURATION_URL" } }
يطلب هذا الطلب من Google Chat عرض طلب خاص على المستخدم، حيث يمثّلCONFIGURATION_URL
رابطًا
يمكن للمستخدم الانتقال إليه لإجراء مصادقة أو تفويض أو
إعداد إضافي. لا يمكن إرسال ردّ REQUEST_CONFIG
مع رسالة ردّ عادية. ويتم تجاهل أي نص أو بطاقات أو سمات أخرى.
إكمال طلب الضبط
يتضمّن أيضًا كل
MESSAGE
حدث تفاعل
الذي يتلقّاه تطبيق Chat الحقل
configCompleteRedirectUrl
. يجب ترميز عنوان URL هذا في
عنوان URL الخاص بالإعداد ليتم استخدامه عند اكتمال العملية. تشير إعادة التوجيه إلى عنوان URL
هذا إلى Google Chat بأنّه تم استيفاء طلب الضبط.
عند بدء تطبيق Chat، يعتمد الإجراء على
الرسالة المحدّدة التي تم استلامها. استجابةً لرسالة مثل @app help
، يجب أن يردّ
تطبيق Chat برسالة بدون
طلب إعدادات إضافية.
عندما تتم إعادة توجيه المستخدم بنجاح إلى configCompleteRedirectUrl
المقدَّمة في الرسالة الأصلية، تنفِّذ Google Chat الخطوات التالية:
- امسح الطلب الذي تم عرضه على المستخدم المُنشئ.
- حوِّل الرسالة الأصلية إلى رسالة علنية، ما يجعلها مرئية لأعضاء المساحة الآخرين.
- أرسِل الرسالة الأصلية إلى تطبيق Chat نفسه مرّة ثانية.
لا يؤثّر الانتقال إلى configCompleteRedirectUrl
إلا في رسالة مستخدم واحدة.
إذا حاول مستخدم إرسال رسالة إلى تطبيق Chat عدة
مرات وتلقّى نتيجةً لذلك طلبات متعددة، فإنّ النقر على طلب معيّن
وإكمال عملية المصادقة والضبط لا يؤثران إلا في
تلك الرسالة المحدّدة. لا يتم تغيير الرسائل الأخرى.
عند إعادة إرسال حدث تفاعل MESSAGE
بهذه الطريقة، من المفترض أن يكون مطابقًا
للحدث الأصلي. ومع ذلك، هناك بعض الحالات التي يمكن أن تختلف فيها أحداث التفاعل MESSAGE
. على سبيل المثال، عندما تشير رسالة إلى كل من
تطبيق Chat أ وتطبيق Chat ب،
يمكن للمستخدم تعديل الرسالة إذا كان تطبيق Chat أ
يردّ برسالة عادية قبل المصادقة باستخدام
تطبيق Chat ب. في هذه الحالة، يتلقّى
تطبيق Chat (ب) نص الرسالة المعدَّل بعد أن يُكمِل
المستخدم عملية المصادقة والإعداد.
مصادقة مستخدم Chat خارج Chat
في بعض الحالات، مثل طلب تفويض OAuth لواجهة برمجة التطبيقات، يحتاج تطبيقك إلى الربط بعنوان URL خارج Chat مع الحفاظ على هوية المستخدم. إنّ أفضل طريقة لتحديد هوية المستخدم في هذه الحالات هي حماية التطبيق المقصود باستخدام ميزة تسجيل الدخول بحساب Google.
استخدِم
الرمز المميّز للهوية
الذي تم إصداره أثناء تسجيل الدخول للحصول على رقم تعريف المستخدم. تحتوي المطالبة sub
على معرّف sub
الفردي للمستخدم ويمكن ربطها بمعرّف المستخدم من Google Chat.
على الرغم من أنّ المعرّفَين غير متطابقَين تمامًا، يمكن إجبارهما على ذلك. لتحويل قيمة المطالبة sub
إلى users/{user}
في Google Chat، prepend
أضِف users/
إلى القيمة. على سبيل المثال، قيمة المطالبة 123
هي مكافئة
لاسم المستخدم users/123
في الرسائل المُرسَلة إلى
تطبيق Chat.
مواضيع ذات صلة
- تلقّي تفاعل المستخدمين والردّ عليه
- يستخدم مثال تطبيق MyProfile معرّف الهوية من استجابة "تسجيل الدخول باستخدام حساب Google" لتحديد هوية المستخدم.