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