عیب‌یابی و رفع خطاهای برنامه Google Chat

این بخش مشکلات رایجی را که ممکن است هنگام ساخت و آزمایش برنامه‌های چت با آنها مواجه شوید، شرح می‌دهد.

یک پیام کارت، کادر محاوره‌ای یا پیش‌نمایش لینک، آنطور که انتظار می‌رود رندر یا کار نمی‌کند.

برای کمک به عیب‌یابی خطاهای کارت، به عیب‌یابی و رفع مشکلات کارت‌ها مراجعه کنید.

برنامه پاسخ نمی‌دهد

اگر به برنامه چت پیام دادید و پاسخ داد «برنامه پاسخ نمی‌دهد»، پیکربندی برنامه چت را بررسی کنید:

  1. در کنسول گوگل کلود، منو > مشاهده همه محصولات > سایر محصولات گوگل > فضای کاری گوگل > کتابخانه محصولات > رابط برنامه‌نویسی کاربردی گوگل چت > مدیریت > پیکربندی کلیک کنید.

    به API چت بروید

  2. در قسمت وضعیت برنامه ، مطمئن شوید که گزینه «زنده - در دسترس برای کاربران» را انتخاب کرده‌اید.

  3. در بخش ویژگی‌های تعاملی ، مطمئن شوید که تنظیمات برای عملکرد برنامه شما مناسب هستند. اگر برنامه چت شما با کاربران تعامل دارد، مطمئن شوید که گزینه فعال کردن ویژگی‌های تعاملی را فعال کرده‌اید:

    1. به طور پیش‌فرض، برنامه‌ها می‌توانند به پیام‌های مستقیم کاربران پاسخ دهند.
    2. اگر برنامه شما به پیام‌ها در فضاها و چت‌های گروهی پاسخ می‌دهد، «به فضاها و مکالمات گروهی بپیوندید» را انتخاب کنید.
    3. در قسمت تنظیمات اتصال (Connection settings) ، مطمئن شوید که آدرس اینترنتی نقطه پایانی HTTP ، شناسه استقرار پروژه Apps Script، نام Cloud Pub/Sub Topic یا عامل Dialogflow به درستی تنظیم شده و مستقر شده باشند.
    4. در قسمت «قابلیت مشاهده» ، مطمئن شوید که کاربران مناسب با آدرس ایمیل یا گروهی در دامنه Google Workspace به برنامه دسترسی دارند. اگر برنامه با Google Workspace Marketplace SDK مستقر شده باشد، تنظیمات قابلیت مشاهده لازم نیست زیرا تنظیمات Google Workspace Marketplace اولویت دارند.
  4. اگر برنامه با SDK بازار Google Workspace منتشر شده است، تنظیمات بازار Google Workspace را بررسی کنید.

  5. روی ذخیره کلیک کنید.

  6. دوباره سعی کنید به برنامه پیام دهید.

رابط برنامه‌نویسی کاربردی گوگل چت فقط برای کاربران گوگل ورک‌اسپیس در دسترس است

هنگام پیکربندی برنامه چت، ممکن است خطای Google Chat API is only available to Google Workspace users را دریافت کنید. این پیام به این معنی است که حساب گوگلی که برای پیکربندی Chat API استفاده کرده‌اید، بخشی از سازمان Google Workspace نیست. برای ساخت یک برنامه چت یا استفاده از Chat API، باید از یک حساب Google Workspace استفاده کنید.

توجه داشته باشید که کاربران گوگل چت می‌توانند بدون حساب کاربری گوگل ورک‌اسپیس از برنامه‌های چت استفاده کنند. برای کسب اطلاعات بیشتر در مورد نحوه کشف و نصب برنامه‌های چت توسط کاربران، به ساخت برنامه‌های تعاملی گوگل چت مراجعه کنید.

کاربران می‌توانند از فضاها حذف شوند

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

برای مثال، اگر تنظیمات تاریخچه چت برای یک کاربر به صورت اجباری "روشن" و برای یک فضا به صورت اجباری "خاموش" باشد، ممکن است آن کاربر نتواند به آن فضا بپیوندد. علاوه بر این، اگر آن کاربر قبل از تداخل به آن فضا پیوسته باشد و سپس پس از تداخل، پیامی در آن فضا ارسال کند، ممکن است از آن فضا حذف شود.

در این سناریو و سناریوهای دیگر که در آن‌ها بین تنظیمات تاریخچه تداخل وجود دارد، ممکن است Chat API نتواند عضویت ایجاد کند، یا ایجاد پیامی با احراز هویت کاربر ممکن است کاربر احراز هویت شده با تنظیمات تاریخچه چت تداخل‌دار را از فضا حذف کند.

برای کسب اطلاعات بیشتر، به بخش «کاربران می‌توانند از فضاها حذف شوند» در مرکز راهنمای مدیریت Google Workspace مراجعه کنید.

عیب‌یابی سرویس چت پیشرفته در اسکریپت برنامه‌های گوگل

برای اطلاعات بیشتر در مورد سرویس چت پیشرفته، به صفحه اسکریپت برنامه‌ها مراجعه کنید.

کاربران نمی‌توانند یک برنامه چت به یک فضا اضافه کنند

اگر کاربران هنگام تلاش برای افزودن یک برنامه چت به یک فضا با پیام خطای This organization's administrator must allow users to install this Chat app مواجه شوند، این خطا ممکن است به یکی از دلایل زیر ایجاد شده باشد:

  • این سازمان برنامه‌های چت را غیرفعال کرده است.
  • سازمان این برنامه چت خاص را به فهرست برنامه‌های مجاز خود اضافه نکرده است.

اگر کاربری هنگام تلاش برای تعامل با یک برنامه چت با این پیام خطا مواجه شود، ممکن است به دلیل اعطای دسترسی به یک واحد زیرسازمانی توسط سازمان، بدون فعال کردن آن برای واحد سازمانی والد، ایجاد شده باشد.

برای اطلاعات در مورد چگونگی حل این مشکل، به بخش «اجازه به کاربران برای نصب برنامه‌های چت» مراجعه کنید.

مدیر سیستم باید دامنه مجوز OAuth مورد نیاز برای این اقدام را به برنامه اعطا کند.

هنگام تأیید اعتبار به عنوان یک برنامه چت ، ممکن است خطای زیر را دریافت کنید:

<HttpError 403 when requesting https://chat.googleapis.com/v1/spaces/{space}?alt=json returned "The administrator must grant the app the required OAuth authorization scope for this action.". Details: "The administrator must grant the app the required OAuth authorization scope for this action.">

این پیام خطا به این معنی است که مدیر Google Workspace هنوز به برنامه Chat اجازه استفاده از محدوده‌های مجوزی که با نام https://www.googleapis.com/auth/chat.app.* شروع می‌شوند را نداده است.

برای رفع خطا:

  • از مدیر Google Workspace بخواهید که به برنامه چت شما مجوز بدهد . هنگام مدیریت این خطا در منطق برنامه چت خود، ارسال پیامی را در نظر بگیرید که اعلام کند برنامه چت برای انجام اقدام درخواستی به مجوز مدیر نیاز دارد، مثلاً: To perform this action, I need approval. <https://support.google.com/a?p=chat-app-auth|Learn more>.
  • اگر متد Chat API از محدوده‌ی مجوز https://www.googleapis.com/auth/chat.bot پشتیبانی می‌کند، که نیازی به تأیید مدیر ندارد، استفاده از آن را در نظر بگیرید. برای بررسی اینکه یک متد از کدام محدوده‌های مجوز پشتیبانی می‌کند، به بخش‌های «احراز هویت و تأیید برنامه‌های Google Chat» و «درخواست‌های Google Chat API» مراجعه کنید.

عیب‌یابی خطاهای عملکرد ابر

اگر برنامه چت با توابع ابری پیاده‌سازی شده است و کار نمی‌کند، بخش‌های زیر به عیب‌یابی و رفع مشکل کمک می‌کنند.

بررسی گزارش‌های عملکرد ابر

به عنوان اولین قدم، گزارش‌های توابع ابری را برای یافتن خطا بررسی کنید.

  1. در کنسول گوگل کلود، به صفحه توابع کلود بروید:

    به توابع ابری بروید

  2. برای باز کردن گزارش‌ها، تابع ابری برنامه چت خود را پیدا کنید، سپس روی نمایش اقدامات > مشاهده گزارش‌ها کلیک کنید.

کاوشگر گزارش‌ها (Logs Explorer) باز می‌شود و یک پرس‌وجو اجرا می‌کند که گزارش‌های عملکرد ابری (Cloud Function) از جمله خطاها را نشان می‌دهد.

اگر اطلاعات پیش‌فرض ثبت‌شده برای اشکال‌زدایی برنامه شما کافی نیست، می‌توانید گزارش‌های بیشتری از کد تابع ابری خود اضافه کنید. به بخش «مشاهده و نوشتن گزارش‌های تابع ابری» مراجعه کنید.

خطاهای عملکرد ابر را بررسی کنید

جدا از گزارش‌ها، Cloud Function ممکن است خطاهایی را که هنگام اجرا با آنها مواجه می‌شوید نیز گزارش دهد.

  1. در کنسول گوگل کلود، به صفحه توابع کلود بروید:

    به توابع ابری بروید

  2. روی عملکرد ابری برنامه چت خود کلیک کنید.

  3. در صفحه جزئیات تابع، خطاها در زیر بخش خطاها فهرست شده‌اند.

  4. برای عیب‌یابی بیشتر یک خطا، روی آن کلیک کنید.

خطاهای رایج عملکرد ابر را برطرف کنید

خطاهای زیر گاهی اوقات هنگام ساخت یک برنامه چت با توابع ابری رخ می‌دهند.

تابع ChatApp در ناحیه REGION_NAME در پروژه PROJECT_NAME از قبل وجود دارد

هنگام استقرار یک تابع ابری، ممکن است خطای Function ChatApp in region REGION_NAME in project PROJECT_NAME already exists را دریافت کنید. این پیام به این معنی است که یک تابع ابری دیگر همنام با تابعی است که شما در حال استقرار آن هستید. نام را تغییر دهید و تابع را دوباره مستقر کنید. تأیید کنید که برنامه چت از Trigger URL برای تابع ابری شما استفاده می‌کند، نه از Trigger URL تابع ابری از پیش موجود.

یک یا چند کاربر نام‌برده‌شده در این خط‌مشی، متعلق به یک مشتری مجاز نیستند

هنگام استقرار یک تابع ابری، ممکن است خطای The operation cannot be completed on the function: "One or more users named in the policy do not belong to a permitted customer." اگر این خطا را دریافت کنید و سپس به برنامه چت پیام دهید، خطایی دریافت می‌کنید که می‌گوید برنامه پاسخ نمی‌دهد زیرا گوگل چت نمی‌تواند به سرور میزبان تابع ابری دسترسی پیدا کند. این پیام به این معنی است که کاربری به نام «allUsers» اجازه فراخوانی تابع ابری را ندارد. دادن نقش «فراخواننده توابع ابری» به «allUsers» به این معنی است که تابع ابری که برنامه را پشتیبانی می‌کند، به صورت عمومی در دسترس است و بدون احراز هویت قابل دسترسی است. برای یادگیری نحوه اختصاص یک نقش، به اعطای یک نقش واحد مراجعه کنید.

این خطا ممکن است به این معنی باشد که پروژه Google Cloud محدود به دامنه است. برای اطلاعات بیشتر در مورد محدودیت‌های محدودیت دامنه، به محدود کردن هویت‌ها بر اساس دامنه مراجعه کنید.

برای حل این مشکل، تأیید کنید که تابع ابری شما اجازه فراخوانی‌های احراز هویت نشده را می‌دهد. برای یادگیری نحوه مجاز کردن فراخوانی‌های احراز هویت نشده برای یک تابع ابری موجود، به «اجازه دادن به دسترسی عمومی (احراز هویت نشده)» مراجعه کنید.