ربط تطبيق Chat بخدمات وأدوات أخرى

توضّح هذه الصفحة كيفية ربط تطبيق Google Chat بخدمة أو أداة غير متوافقة مع Google Chat. وعلى الرغم من أنّ تطبيقات Chat فعّالة بمفردها، فإنها تعمل غالبًا بالتنسيق مع أنظمة أخرى وتتطلب تطبيقات مصاحبة لربط الحسابات أو منح الإذن بالوصول إلى البيانات أو عرض بيانات إضافية أو ضبط الإعدادات المفضَّلة للمستخدم.

طلب إعداد تطبيق Chat من مستخدم

إذا كان إكمال طلب يتطلب إعدادًا إضافيًا لا يمكن إكماله مباشرةً في تطبيق Chat، يمكنك عرض عنوان URL للإعداد للمستخدم كجزء من رد عادي أو عرضه بخصوصية تامة بالصيغة التالية:

{
  "actionResponse": {
    "type": "REQUEST_CONFIG",
    "url": "CONFIGURATION_URL"
  }
}

يؤدي ذلك إلى توجيه Google Chat إلى Google Chat ليعرض للمستخدم رسالة مطالبة خاصة، حيث يكون CONFIGURATION_URL رابطًا يمكن للمستخدم زيارته من أجل إجراء مصادقة أو تفويض أو عملية إعداد إضافية. يكون الرد REQUEST_CONFIG حصريًا مع رسالة رد عادية. ويتم تجاهل أي نص أو بطاقات أو سمات أخرى.

إكمال طلب الإعداد

يتضمّن MESSAGE حدث تفاعل يتلقّىه تطبيقك على Chat مَعلمة configCompleteRedirectUrl أيضًا. ويجب ترميز عنوان URL هذا في عنوان URL للإعدادات حتى يتم استخدامه عند إكمال العملية. تشير إعادة التوجيه إلى عنوان URL هذا إلى Google Chat بأنّ طلب الإعداد قد تم تنفيذه.

عند بدء تشغيل تطبيق Chat، يعتمد التدفق على الرسالة المحددة التي تم استلامها. ردًا على رسالة مثل @app help، من المفترض أن يردّ تطبيق Chat برسالة بدون طلب إعدادات إضافية.

عند إعادة توجيه المستخدم بنجاح إلى configCompleteRedirectUrl الوارد في الرسالة الأصلية، ينفِّذ Google Chat الخطوات التالية:

  1. محو الطلب الذي تم عرضه للمستخدم المبتدئ
  2. يمكنك تحويل الرسالة الأصلية إلى علنية، وجعلها مرئية للأعضاء الآخرين في المساحة.
  3. أرسل الرسالة الأصلية إلى تطبيق الدردشة نفسه مرة ثانية.

لا تؤثر زيارة configCompleteRedirectUrl إلا في رسالة مستخدم واحدة. إذا حاول أحد المستخدمين مراسلة تطبيق في Chat عدة مرات، وبالتالي تم إرسال العديد من الطلبات نتيجةً لذلك، لن يؤثر النقر على طلب معيَّن وإكمال عملية المصادقة والضبط إلا في تلك الرسالة المعيّنة. ولا يتم تغيير الرسائل الأخرى.

عند إعادة إرسال حدث تفاعل MESSAGE بهذه الطريقة، يجب أن يكون مطابقًا للحدث الأصلي، ولكن هناك بعض الحالات التي قد تختلف فيها أحداث التفاعل MESSAGE. على سبيل المثال، عندما تشير رسالة إلى كل من تطبيقَي Chat "أ" و"ب" في Chat، يمكن للمستخدم تعديل الرسالة إذا ردّ تطبيق Chat "أ" على رسالة عادية قبل المصادقة باستخدام تطبيق Chat "ب". في هذه الحالة، يتلقّى تطبيق Chat "ب" نص الرسالة المعدَّلة بعد أن يكمل المستخدم المصادقة والضبط.

مصادقة مستخدم Chat خارج Chat

في بعض الحالات، مثل طلب تفويض OAuth لواجهة برمجة تطبيقات، يجب أن يرتبط تطبيقك بعنوان URL خارج Chat مع الحفاظ على هوية المستخدم. وأفضل طريقة لتحديد المستخدم في هذه الحالات هي حماية تطبيق الوجهة من خلال تسجيل الدخول باستخدام حساب Google.

استخدِم رمز الهوية المميّز الذي تم إصداره أثناء تسجيل الدخول للحصول على رقم تعريف المستخدم. تحتوي المطالبة sub على المعرّف الفريد للمستخدم ويمكن ربطه برقم تعريف المستخدم من Google Chat.

على الرغم من أن المعرّفين غير متطابقين تمامًا، إلا أنه يمكن فرضهما. لفرض قيمة مطالبة sub في users/{user} في Google Chat، أضِف القيمة في البداية بإضافة users/. على سبيل المثال، تعادل قيمة المطالبة 123 اسم المستخدم users/123 في الرسائل الموجّهة إلى تطبيق Chat.

  • يستخدم مثال على تطبيق MyProfile الرمز المميّز للهوية من الردّ الخاص بتسجيل الدخول بحساب Google لتحديد المستخدم.