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

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

المتطلبات الأساسية

تطبيق Google Chat مفعَّل فيه الميزات التفاعلية لإنشاء تطبيق Chat تفاعلي، أكمِل أحد عمليات البدء السريع التالية استنادًا إلى بنية التطبيق التي تريد استخدامها:

طلب ضبط إعدادات تطبيق 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 الخطوات التالية:

  1. امسح الطلب الذي تم عرضه على المستخدم المُنشئ.
  2. حوِّل الرسالة الأصلية إلى رسالة علنية، ما يجعلها مرئية لأعضاء المساحة الآخرين.
  3. أرسِل الرسالة الأصلية إلى تطبيق 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.