یک برنامه چت را با سرویس ها و ابزارهای دیگر متصل کنید

این صفحه نحوه اتصال یک برنامه Google Chat را با سرویس یا ابزاری که خارج از Google Chat است توضیح می دهد. در حالی که برنامه‌های چت به تنهایی قدرتمند هستند، اغلب با سیستم‌های دیگر کار می‌کنند و به برنامه‌های همراه برای اتصال حساب‌ها، مجوز دسترسی به داده‌ها، نمایش داده‌های اضافی یا پیکربندی تنظیمات برگزیده کاربر نیاز دارند.

پیش نیازها

یک برنامه Google Chat که برای ویژگی‌های تعاملی فعال است. برای ایجاد یک برنامه چت تعاملی، یکی از شروع سریع زیر را بر اساس معماری برنامه ای که می خواهید استفاده کنید، انجام دهید:

پیکربندی برنامه چت را از یک کاربر درخواست کنید

اگر تکمیل یک درخواست به پیکربندی اضافی نیاز دارد که نمی‌توان آن را مستقیماً در برنامه چت تکمیل کرد، یک 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 مراحل زیر را انجام می دهد:

  1. درخواستی را که به کاربر آغازگر نمایش داده شده است پاک کنید.
  2. پیام اصلی را به عمومی تبدیل کنید تا برای سایر اعضای فضا قابل مشاهده باشد.
  3. پیام اصلی را برای بار دوم به همان برنامه چت ارسال کنید.

بازدید از 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 در پیام‌های برنامه چت شما است.