توضّح هذه الصفحة كيفية ربط تطبيق Google Chat بخدمة أو أداة خارج Google Chat. على الرغم من أنّ تطبيقات Chat فعّالة بذاتها، إلا أنّها غالبًا ما تعمل بالتزامن مع أنظمة أخرى وتتطلّب تطبيقات مصاحبة لربط الحسابات أو منح إذن الوصول إلى البيانات أو عرض بيانات إضافية أو ضبط الإعدادات المفضّلة للمستخدم.
المتطلبات الأساسية
تطبيق Google Chat تم إعداده لتلقّي أحداث التفاعل والردّ عليها لإنشاء تطبيق تفاعلي على Chat، أكمل أحد أدلة البدء السريع التالية استنادًا إلى بنية التطبيق التي تريد استخدامها:- خدمة HTTP باستخدام Google Cloud Functions
- برمجة تطبيقات Google
- 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
وADDED_TO_SPACE
وAPP_COMMAND
يتلقّاه تطبيق Chat أيضًا الحقل
configCompleteRedirectUrl
. يجب ترميز عنوان URL هذا في عنوان URL الخاص بالإعداد لاستخدامه عند اكتمال العملية. يشير التوجيه إلى عنوان URL هذا إلى أنّ طلب الإعداد قد تم تنفيذه في Google Chat.
عندما يبدأ تطبيق Chat، يعتمد سير العمل على الرسالة المحدّدة التي تم تلقّيها. استجابةً لرسالة مثل @app help
، يجب أن يستجيب تطبيق Chat برسالة بدون الحاجة إلى إعدادات إضافية.
عندما تتم إعادة توجيه المستخدم بنجاح إلى configCompleteRedirectUrl
المقدَّم في الرسالة الأصلية، يتّخذ Google Chat الخطوات التالية:
- محو الطلب الذي تم عرضه على المستخدم الذي بدأ المحادثة
- تحويل الرسالة الأصلية إلى رسالة عامة، ما يجعلها مرئية للأعضاء الآخرين في المساحة
- أرسِل الرسالة الأصلية إلى تطبيق Chat نفسه مرة ثانية.
لا يؤثر الانتقال إلى configCompleteRedirectUrl
إلا في رسالة مستخدم واحدة.
إذا حاول مستخدم إرسال رسالة إلى تطبيق Chat عدة مرات وتلقّى نتيجة لذلك عدة طلبات، سيؤثر النقر على طلب معيّن وإكمال عملية المصادقة والإعداد على تلك الرسالة المحدّدة فقط. لا يتم تغيير الرسائل الأخرى.
عند إعادة إرسال حدث تفاعل من النوع MESSAGE
بهذه الطريقة، يجب أن يكون مطابقًا للحدث الأصلي، ولكن هناك بعض الحالات التي يمكن أن تختلف فيها أحداث التفاعل من النوع MESSAGE
. على سبيل المثال، عندما تشير رسالة إلى كل من تطبيق Chat أ وتطبيق Chat ب، يمكن للمستخدم تعديل الرسالة إذا ردّ تطبيق Chat أ برسالة عادية قبل المصادقة باستخدام تطبيق Chat ب. في هذه الحالة، يتلقّى تطبيق المراسلة B نص الرسالة المعدَّلة بعد أن يكمل المستخدم عملية المصادقة والإعداد.
مصادقة مستخدم Chat خارج Chat
في بعض الحالات، مثل طلب تفويض OAuth لواجهة برمجة تطبيقات، يحتاج تطبيقك إلى تضمين رابط يؤدي إلى عنوان URL خارج Chat مع الحفاظ على هوية المستخدم. وأفضل طريقة لتحديد هوية المستخدم في هذه الحالات هي حماية التطبيق الوجهة باستخدام تسجيل الدخول باستخدام حساب Google.
استخدِم الرمز المميز للهوية الذي تم إصداره أثناء تسجيل الدخول للحصول على رقم تعريف المستخدم. يتضمّن عنصر sub
المعرّف الفريد للمستخدم ويمكن ربطه بمعرّف المستخدم من Google Chat.
على الرغم من أنّ المعرّفَين ليسا متطابقَين تمامًا، يمكن إجبارهما على التطابق. لفرض قيمة المطالبة sub
على users/{user}
في Google Chat، أضِف users/
قبل القيمة. على سبيل المثال، تكون قيمة المطالبة 123
مكافئة لاسم المستخدم users/123
في الرسائل إلى تطبيق Chat.
مواضيع ذات صلة
- تلقّي تفاعلات المستخدمين والردّ عليها
- يستخدم مثال تطبيق MyProfile رمز التعريف المميز من استجابة "تسجيل الدخول باستخدام Google" لتحديد هوية المستخدم.