توضّح هذه الصفحة كيفية ربط تطبيق Google 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 الخطوات التالية:
- محو رسالة المطالبة التي تم عرضها للمستخدم المبدئي
- تحويل الرسالة الأصلية إلى علنية، مع جعلها مرئية للأعضاء الآخرين في المساحة.
- أرسِل الرسالة الأصلية إلى تطبيق Chat نفسه مرة أخرى.
لا تؤثر زيارة 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 لتحديد المستخدم.