تتيح لك خدمة Advanced Chat استخدام Google Chat API في Apps Script. تتيح واجهة برمجة التطبيقات هذه للبرامج النصية العثور على مساحات Chat وإنشائها وتعديلها، وإضافة أعضاء إلى المساحات أو إزالتهم منها، وقراءة الرسائل أو نشرها مع النصوص والبطاقات والمرفقات والتفاعلات.
المتطلبات الأساسية
- تطبيق Google Chat على Apps Script تم ضبطه في صفحة إعدادات Chat API في Google Cloud Console يجب أن يستخدم مشروع "برمجة تطبيقات Google" للتطبيق مشروعًا عاديًا على Google Cloud بدلاً من المشروع التلقائي الذي يتم إنشاؤه تلقائيًا لمشاريع "برمجة تطبيقات Google". لإنشاء تطبيق متوافق مع Google Chat، يُرجى الاطّلاع على إنشاء تطبيق Google Chat باستخدام "برمجة تطبيقات Google".
- تم ضبط إعدادات المصادقة لتطبيق Chat. يتطلّب تنفيذ إجراء نيابةً عن مستخدم مصادقة المستخدم. يتطلّب تنفيذ إجراء بصفتك تطبيق Chat مصادقة التطبيق باستخدام حساب خدمة. للاطّلاع على طريقة المصادقة التي تتيحها إحدى طرق Chat API، يُرجى الاطّلاع على أنواع المصادقة المطلوبة لطلبات البيانات من Google Chat API.
مراجع
لمزيد من المعلومات حول هذه الخدمة، يُرجى الاطّلاع على المستندات المرجعية لواجهة Chat API. مثل جميع الخدمات المتقدّمة في Apps Script، تستخدم خدمة Chat الكائنات والطُرق والمعلَمات نفسها التي تستخدمها واجهة برمجة التطبيقات العامة.
نموذج التعليمات البرمجية
توضّح لك هذه النماذج كيفية تنفيذ الإجراءات الشائعة في Google Chat API باستخدام الخدمة المتقدّمة.
نشر رسالة باستخدام بيانات اعتماد المستخدم
يوضّح المثال التالي كيفية نشر رسالة في مساحة Chat نيابةً عن المستخدم.
أضِف نطاق التفويض
chat.messages.createإلى ملفappsscript.jsonفي مشروع "برمجة التطبيقات":"oauthScopes": [ "https://www.googleapis.com/auth/chat.messages.create" ]أضِف دالة مثل هذه إلى رمز مشروع Apps Script:
نشر رسالة تتضمّن بيانات اعتماد التطبيق
يوضّح المثال التالي كيفية نشر رسالة في مساحة Chat نيابةً عن التطبيق. لا يتطلّب استخدام خدمة Chat المتقدّمة مع حساب خدمة تحديد نطاقات التفويض في appsscript.json. لمعرفة تفاصيل حول المصادقة باستخدام حسابات الخدمة، يُرجى الاطّلاع على المصادقة كتطبيق Google Chat.
الحصول على مساحة
يوضّح المثال التالي كيفية الحصول على معلومات حول مساحة Chat.
أضِف نطاق التفويض
chat.spaces.readonlyإلى ملفappsscript.jsonفي مشروع "برمجة التطبيقات":"oauthScopes": [ "https://www.googleapis.com/auth/chat.spaces.readonly" ]أضِف دالة مثل هذه إلى رمز مشروع Apps Script:
إنشاء مساحة
يوضّح المثال التالي كيفية إنشاء مساحة في Chat.
أضِف نطاق التفويض
chat.spaces.createإلى ملفappsscript.jsonفي مشروع "برمجة التطبيقات":"oauthScopes": [ "https://www.googleapis.com/auth/chat.spaces.create" ]أضِف دالة مثل هذه إلى رمز مشروع Apps Script:
عضويات القائمة
يوضّح المثال التالي كيفية إدراج جميع أعضاء مساحة Chat.
أضِف نطاق التفويض
chat.memberships.readonlyإلى ملفappsscript.jsonفي مشروع "برمجة التطبيقات":"oauthScopes": [ "https://www.googleapis.com/auth/chat.memberships.readonly" ]أضِف دالة مثل هذه إلى رمز مشروع Apps Script:
تحديد المشاكل وحلّها
إذا واجهت الخطأ Error 400: invalid_scope مع رسالة الخطأ
Some requested scopes cannot be shown،
يعني ذلك أنّه لم يتم تحديد أي نطاقات تفويض في ملف appsscript.json الخاص بمشروع Apps Script. في معظم الحالات، يحدّد Apps Script تلقائيًا النطاقات التي يحتاجها البرنامج النصي، ولكن عند استخدام خدمة Chat المتقدّمة، عليك إضافة نطاقات التفويض التي يستخدمها البرنامج النصي يدويًا إلى ملف البيان الخاص بمشروع Apps Script. راجِع مقالة
ضبط النطاقات الواضحة.
لحلّ الخطأ، أضِف نطاقات التفويض المناسبة إلى ملف appsscript.json في مشروع Apps Script كجزء من مصفوفة oauthScopes. على سبيل المثال، لاستدعاء الطريقة
spaces.messages.create
، أضِف ما يلي:
"oauthScopes": [
"https://www.googleapis.com/auth/chat.messages.create"
]
الحدود والاعتبارات
لا تتوافق خدمة "المحادثة المتقدّمة" مع ما يلي:
- طريقة Chat API
media.download - طُرق Chat API المتوفّرة في معاينة المطوّرين
لتنزيل مرفق رسالة أو استدعاء طريقة معاينة مطوّر البرامج، استخدِم
UrlFetchApp بدلاً من ذلك.