این صفحه نحوه اتصال یک برنامه Google Chat به یک سرویس یا ابزاری که خارج از Google Chat است را شرح میدهد. اگرچه برنامههای Chat به خودی خود قدرتمند هستند، اما اغلب با سایر سیستمها هماهنگ کار میکنند و برای اتصال حسابها، تأیید دسترسی به دادهها، نمایش دادههای اضافی یا پیکربندی تنظیمات برگزیده کاربر، به برنامههای همراه نیاز دارند.
پیشنیازها
یک برنامه گوگل چت که برای دریافت و پاسخ به رویدادهای تعاملی پیکربندی شده است. برای ایجاد یک برنامه چت تعاملی، بر اساس معماری برنامهای که میخواهید استفاده کنید، یکی از مراحل شروع سریع زیر را انجام دهید:- سرویس HTTP با توابع Google Cloud
- اسکریپت برنامههای گوگل
- تجربه کاربری گوگل کلود دیالوگ فلو
- میخانه/زیرمجموعه گوگل کلود
درخواست پیکربندی برنامه چت از یک کاربر
اگر تکمیل یک درخواست نیاز به پیکربندی اضافی دارد که نمیتوان آن را مستقیماً در برنامه چت انجام داد، یک URL پیکربندی را به عنوان بخشی از یک پاسخ عادی به کاربر برگردانید، یا آن را به صورت خصوصی، به شکل زیر ارائه دهید:
{
"actionResponse": {
"type": "REQUEST_CONFIG",
"url": "CONFIGURATION_URL"
}
}
این به گوگل چت میگوید که یک پیام خصوصی به کاربر ارائه دهد، که در آن CONFIGURATION_URL لینکی است که کاربر میتواند برای احراز هویت، مجوز یا پیکربندی بیشتر از آن استفاده کند. پاسخ REQUEST_CONFIG با یک پیام پاسخ معمولی ناسازگار است. هرگونه متن، کارت یا ویژگی دیگری نادیده گرفته میشود.
درخواست پیکربندی را تکمیل کنید
هر رویداد تعاملی MESSAGE ، ADDED_TO_SPACE و APP_COMMAND که برنامه چت شما دریافت میکند، شامل فیلد configCompleteRedirectUrl نیز میشود. شما باید این URL را در URL پیکربندی خود کدگذاری کنید تا در پایان فرآیند استفاده شود. هدایت به این URL به Google Chat نشان میدهد که درخواست پیکربندی انجام شده است.
وقتی برنامه چت شما شروع به کار میکند، روند کار به پیام دریافتی خاص بستگی دارد. در پاسخ به پیامی مانند @app help ، یک برنامه چت باید بدون نیاز به پیکربندی اضافی، با یک پیام پاسخ دهد.
وقتی کاربر با موفقیت به configCompleteRedirectUrl ارائه شده در پیام اصلی هدایت میشود، گوگل چت مراحل زیر را انجام میدهد:
- پیامی که به کاربر آغازگر نمایش داده شده بود را پاک کنید.
- پیام اصلی را به عمومی تبدیل کنید و آن را برای سایر اعضای فضا قابل مشاهده کنید.
- پیام اصلی را برای بار دوم به همان برنامه چت ارسال کنید.
بازدید از configCompleteRedirectUrl فقط روی یک پیام کاربر تأثیر میگذارد. اگر کاربری چندین بار سعی کرده باشد به یک برنامه چت پیام ارسال کند و در نتیجه چندین پیام دریافت کرده باشد، کلیک کردن روی یک پیام خاص و تکمیل فرآیند احراز هویت و پیکربندی فقط روی همان پیام خاص تأثیر میگذارد. سایر پیامها تغییر نمیکنند.
وقتی یک رویداد تعاملی MESSAGE به این شکل دوباره ارسال میشود، باید با رویداد اصلی یکسان باشد؛ با این حال، موقعیتهایی وجود دارد که رویدادهای تعاملی MESSAGE میتوانند متفاوت باشند. برای مثال، وقتی در یک پیام هم به برنامه چت A و هم به برنامه چت B اشاره میشود، کاربر میتواند پیام را ویرایش کند اگر برنامه چت A قبل از احراز هویت با برنامه چت B با یک پیام معمولی پاسخ دهد. در این حالت، برنامه چت B متن پیام ویرایش شده را پس از تکمیل احراز هویت و پیکربندی توسط کاربر دریافت میکند.
کاربر چت را خارج از چت احراز هویت کنید
در برخی موارد، مانند درخواست مجوز OAuth برای یک API، برنامه شما باید ضمن حفظ هویت کاربر، به یک URL خارج از Chat لینک شود. بهترین راه برای شناسایی کاربر در این موارد، محافظت از برنامه مقصد با Google Sign-in است.
برای دریافت شناسه کاربری از توکن هویتی که هنگام ورود به سیستم صادر شده است استفاده کنید. این sub claim شامل شناسه منحصر به فرد کاربر است و میتواند با شناسه کاربری از Google Chat مرتبط باشد.
اگرچه این دو شناسه دقیقاً یکسان نیستند، اما میتوان آنها را مجبور به تغییر کرد. برای تغییر مقدار ادعای sub به یک کاربر Google Chat به users/{user} ، مقدار را با users/ شروع کنید. برای مثال، مقدار ادعایی 123 معادل نام کاربری users/123 در پیامهای ارسالی به برنامه چت شما است.
مباحث مرتبط
- دریافت و پاسخ به تعامل کاربر
- مثال برنامه MyProfile از توکن هویتیِ پاسخ ورود به سیستم گوگل برای شناسایی کاربر استفاده میکند.