يوضّح هذا الدليل كيفية استخدام الإجراء
create()
في مورد Message
لواجهة برمجة التطبيقات Google Chat API لتنفيذ أيّ من الإجراءات التالية:
- يمكنك إرسال رسائل تحتوي على نصوص وبطاقات وتطبيقات مصغّرة تفاعلية.
- إرسال الرسائل بشكل خاص إلى مستخدم محدّد في Chat
- ابدأ سلسلة محادثات أو ردّ عليها.
- أدخِل اسمًا لرسالة حتى تتمكّن من تحديدها في طلبات Chat API الأخرى.
الحد الأقصى لحجم الرسالة (بما في ذلك أي نصوص أو بطاقات) هو 32000 بايت. لإرسال رسالة تتجاوز هذا الحجم، يجب أن يُرسِل تطبيق Chat رسائل متعددة بدلاً من ذلك.
بالإضافة إلى استدعاء Chat API لإنشاء الرسائل، يمكن للتطبيقات في Chat إنشاء رسائل وإرسالها للردّ على تفاعلات المستخدمين، مثل نشر رسالة ترحيب بعد أن يضيف مستخدم تطبيق Chat إلى مساحة. عند الردّ على التفاعلات، يمكن لتطبيقات Chat استخدام أنواع أخرى من ميزات المراسلة، بما في ذلك مربّعات الحوار التفاعلية وواجهات معاينة الروابط. للردّ على مستخدم، يعرض تطبيق Chat الرسالة بشكل متزامن بدون استدعاء Chat API. للاطّلاع على كيفية إرسال الرسائل للردّ على التفاعلات، راجِع تلقّي التفاعلات والردّ عليها باستخدام تطبيق Google Chat.
كيفية عرض Chat للرسائل التي تم إنشاؤها باستخدام Chat API وتحديد مصدرها
يمكنك استدعاء طريقة create()
باستخدام
مصادقة التطبيق
ومصادقة المستخدم.
تُحدِّد Chat مصدر الرسالة بشكل مختلف
استنادًا إلى نوع المصادقة الذي تستخدمه.
عند المصادقة بصفتك تطبيق Chat، يرسل تطبيق Chat الرسالة.
عند المصادقة بصفتك مستخدمًا، يُرسِل تطبيق Chat الرسالة نيابةً عن المستخدم. ينسب تطبيق Chat أيضًا تطبيق Chat إلى الرسالة من خلال عرض اسمه.
يحدِّد نوع المصادقة أيضًا ميزات المراسلة وواجهاتها التي يمكنك تضمينها في الرسالة. من خلال مصادقة التطبيقات، يمكن لتطبيقات Chat إرسال رسائل تتضمّن نصًا غنيًا وواجهات مستندة إلى البطاقات وتطبيقات مصغّرة تفاعلية. بما أنّه لا يمكن لمستخدمي Chat إرسال رسائل نصية إلا في رسائلهم، يمكنك تضمين النص فقط عند إنشاء الرسائل باستخدام مصادقة المستخدم. للتعرُّف على مزيد من المعلومات حول ميزات المراسلة المتاحة في Chat API، يُرجى الاطّلاع على نظرة عامة على رسائل Google Chat.
يشرح هذا الدليل كيفية استخدام أيٍّ من نوعَي المصادقة لإرسال رسالة باستخدام Chat API.
المتطلبات الأساسية
Node.js
- حساب على Google Workspace من فئة Business أو Enterprise يتيح الوصول إلى Google Chat
- إعداد البيئة:
- أنشئ مشروعًا على Google Cloud.
- إعداد شاشة طلب الموافقة المتعلّقة ببروتوكول OAuth
- فعِّل Google Chat API وضبطها باستخدام اسم و رمز ووصف لتطبيق Chat.
- ثبِّت مكتبة برامج Cloud Client Library لنظام التشغيل Node.js.
- أنشئ بيانات اعتماد الوصول استنادًا إلى الطريقة التي تريد المصادقة بها في طلب Google Chat API:
- لمصادقة مستخدم Chat،
أنشئ بيانات اعتماد معرّف العميل لبروتوكول OAuth واحفظ بيانات الاعتماد كملف JSON باسم
client_secrets.json
في الدليل المحلي. - لمصادقة تطبيق Chat،
أنشئ بيانات اعتماد
حساب الخدمة واحفظ بيانات الاعتماد كملف JSON باسم
credentials.json
.
- لمصادقة مستخدم Chat،
أنشئ بيانات اعتماد معرّف العميل لبروتوكول OAuth واحفظ بيانات الاعتماد كملف JSON باسم
- اختَر نطاق التفويض استنادًا إلى ما إذا كنت تريد المصادقة بصفتك مستخدمًا أو تطبيق Chat.
- مساحة Google Chat يكون فيها المستخدم الذي تمّت المصادقة عليه أو تطبيق Chat الذي يجري المكالمة عضوًا للمصادقة باسم تطبيق Chat، أضِف تطبيق Chat إلى المساحة.
Python
- حساب على Google Workspace من فئة Business أو Enterprise يتيح الوصول إلى Google Chat
- إعداد البيئة:
- أنشئ مشروعًا على Google Cloud.
- ضبط شاشة موافقة OAuth
- فعِّل Google Chat API واضبطها باستخدام اسم تطبيق Chat ورمزه ووصفه.
- ثبِّت مكتبة Cloud Client Library لـ Python.
- أنشئ بيانات اعتماد الوصول استنادًا إلى طريقة المصادقة التي تريد استخدامها في طلب Google Chat API:
- لمصادقة مستخدم Chat،
أنشئ بيانات اعتماد معرّف العميل لبروتوكول OAuth واحفظ بيانات الاعتماد كملف JSON باسم
client_secrets.json
في الدليل المحلي. - لمصادقة تطبيق Chat،
أنشئ بيانات اعتماد
حساب الخدمة واحفظ بيانات الاعتماد كملف JSON باسم
credentials.json
.
- لمصادقة مستخدم Chat،
أنشئ بيانات اعتماد معرّف العميل لبروتوكول OAuth واحفظ بيانات الاعتماد كملف JSON باسم
- اختَر نطاق التفويض استنادًا إلى ما إذا كنت تريد المصادقة بصفتك مستخدمًا أو تطبيق Chat.
- مساحة Google Chat يكون فيها المستخدم الذي تمّت المصادقة عليه أو تطبيق Chat الذي يجري المكالمة عضوًا للمصادقة باسم تطبيق Chat، أضِف تطبيق Chat إلى المساحة.
Java
- حساب Business أو Enterprise Google Workspace لديه إذن بالوصول إلى Google Chat.
- إعداد البيئة:
- أنشئ مشروعًا على Google Cloud.
- إعداد شاشة طلب الموافقة المتعلّقة ببروتوكول OAuth
- فعِّل Google Chat API وضبطها باستخدام اسم و رمز ووصف لتطبيق Chat.
- ثبِّت مكتبة Cloud Client Library لـ Java.
- أنشئ بيانات اعتماد الوصول استنادًا إلى الطريقة التي تريد المصادقة بها في طلب Google Chat API:
- لمصادقة مستخدم Chat،
أنشئ بيانات اعتماد معرّف العميل لبروتوكول OAuth واحفظ بيانات الاعتماد كملف JSON باسم
client_secrets.json
في الدليل المحلي. - لمصادقة تطبيق Chat،
أنشئ بيانات اعتماد
حساب الخدمة واحفظ بيانات الاعتماد كملف JSON باسم
credentials.json
.
- لمصادقة مستخدم Chat،
أنشئ بيانات اعتماد معرّف العميل لبروتوكول OAuth واحفظ بيانات الاعتماد كملف JSON باسم
- اختَر نطاق التفويض استنادًا إلى ما إذا كنت تريد المصادقة بصفتك مستخدمًا أو تطبيق Chat.
- مساحة Google Chat يكون فيها المستخدم الذي تمّت المصادقة عليه أو تطبيق Chat الذي يجري المكالمة عضوًا لتسجيل الدخول بصفتك تطبيق Chat، عليك إضافة تطبيق Chat إلى المساحة.
برمجة تطبيقات
- حساب على Google Workspace من فئة Business أو Enterprise يتيح الوصول إلى Google Chat
- إعداد البيئة:
- أنشِئ مشروعًا على Google Cloud.
- إعداد شاشة طلب الموافقة المتعلّقة ببروتوكول OAuth
- فعِّل Google Chat API وضبطها باستخدام اسم و رمز ووصف لتطبيق Chat.
- أنشِئ مشروعًا مستقلاً لبرمجة التطبيقات، وفعِّل خدمة Chat المتقدّمة.
- في هذا الدليل، يجب استخدام مصادقة المستخدم أو مصادقة التطبيق. للمصادقة بصفتك تطبيق Chat، أنشئ بيانات اعتماد حساب الخدمة. لمعرفة الخطوات، يمكنك الاطّلاع على المصادقة والتفويض كتطبيق Google Chat.
- اختَر نطاق التفويض استنادًا إلى ما إذا كنت تريد المصادقة بصفتك مستخدمًا أو تطبيق Chat.
- مساحة Google Chat يكون فيها المستخدم الذي تمت مصادقته أو الاتصال بتطبيق Chat عضوًا في المجموعة. للمصادقة باسم تطبيق Chat، أضِف تطبيق Chat إلى المساحة.
إرسال رسالة باسم تطبيق Chat
يوضّح هذا القسم كيفية إرسال رسائل تحتوي على نص وبطاقات و تطبيقات مصغّرة تفاعلية لأجهزة إضافية باستخدام مصادقة التطبيق.
لاستدعاء CreateMessage()
الطريقة باستخدام مصادقة التطبيق، يجب تحديد الحقول التالية في
الطلب:
chat.bot
نطاق التفويض-
Space
المورد الذي تريد نشر الرسالة فيه يجب أن يكون تطبيق Chat عضوًا في المساحة. - تمثّل هذه السمة مصدر
Message
المطلوب إنشاؤه. لتحديد محتوى الرسالة، يمكنك تضمين نصّ غني (text
)، واجهة بطاقة واحدة أو أكثر (cardsV2
)، أو كليهما.
يمكنك اختياريًا تضمين ما يلي:
- حقل
accessoryWidgets
لتضمين أزرار تفاعلية في أسفل الرسالة - الحقل
privateMessageViewer
لإرسال الرسالة بشكل خاص إلى مستخدم محدّد - حقل
messageId
الذي يتيح لك تسمية الرسالة لاستخدامها في طلبات البيانات الأخرى من واجهة برمجة التطبيقات - الحقلَان
thread.threadKey
وmessageReplyOption
لبدء سلسلة محادثات أو الردّ عليها إذا كانت المساحة لا تستخدم ميزة "المحادثات"، يتم تجاهل هذا الحقل.
يعرض الرمز البرمجي التالي مثالاً على كيفية إرسال تطبيق Chat لرسالة منشورة على أنّها تطبيق Chat تحتوي على نص وبطاقة وزر يمكن النقر عليه في أسفل الرسالة:
Node.js
Python
Java
برمجة تطبيقات
لتنفيذ هذا المثال، استبدِل SPACE_NAME
برقم التعريف من حقل
name
المجموعة. يمكنك الحصول على المعرّف من خلال استدعاء الطريقة
ListSpaces()
أو من عنوان URL للمساحة.
إضافة تطبيقات مصغّرة تفاعلية في أسفل رسالة
في نموذج الرموز البرمجية الأول من هذا الدليل، تعرِض رسالة تطبيق Chat زرًا قابلاً للنقر في أسفل الرسالة، ويُعرف هذا الزر باسم أداة مساعدة. تظهر التطبيقات المصغّرة الملحقة بعد أي نص أو بطاقات في الرسالة. يمكنك استخدام هذه التطبيقات المصغّرة لحثّ المستخدمين على التفاعل مع رسالتك بطرق متعدّدة، بما في ذلك ما يلي:
- تقييم دقة رسالة أو مدى رضاك عنها
- الإبلاغ عن مشكلة في الرسالة أو تطبيق Chat
- فتح رابط يؤدي إلى محتوى ذي صلة، مثل المستندات
- رفض الرسائل المشابهة أو تأجيلها من تطبيق Chat لفترة زمنية محدّدة
لإضافة التطبيقات المصغّرة للملحقات، أدرِج الحقل
accessoryWidgets[]
في نص طلبك وحدِّد تطبيقًا واحدًا أو أكثر من التطبيقات المصغّرة التي تريد
تضمينها.
تعرض الصورة التالية تطبيق Chat يُلحق رسالة نصية بتطبيقات مصغّرة تابعة لكي يتمكّن المستخدمون من تقييم تجربتهم مع تطبيق Chat.
يوضح ما يلي نص الطلب الذي يؤدي إلى إنشاء رسالة نصية تحتوي على زرين للملحقات. عندما ينقر المستخدِم على زر، تعالج الدالة
المقابلة (مثل doUpvote
) التفاعل:
{
text: "Rate your experience with this Chat app.",
accessoryWidgets: [{ buttonList: { buttons: [{
icon: { material_icon: {
name: "thumb_up"
}},
color: { red: 0, blue: 255, green: 0 },
onClick: { action: {
function: "doUpvote"
}}
}, {
icon: { material_icon: {
name: "thumb_down"
}},
color: { red: 0, blue: 255, green: 0 },
onClick: { action: {
function: "doDownvote"
}}
}]}}]
}
إرسال رسالة بشكل خاص
يمكن لتطبيقات Chat إرسال الرسائل بخصوصية تامة، بحيث لا تظهر الرسالة إلا لمستخدم محدّد في المساحة. عندما يُرسِل أحد تطبيقات Chat رسالة خاصة، تعرِض الرسالة علامة تُعلم المستخدم بأنّ الرسالة تظهر له فقط.
لإرسال رسالة بشكل خاص باستخدام Chat API، حدِّد الحقل
privateMessageViewer
في نص طلبك. لتحديد المستخدم، يمكنك ضبط القيمة على
المورد
User
الذي يمثّل مستخدم Chat. يمكنك أيضًا استخدام الحقل
name
في المرجع User
، كما هو موضّح في المثال التالي:
{
text: "Hello private world!",
privateMessageViewer: {
name: "users/USER_ID"
}
}
لاستخدام هذا العيّنة، استبدِل USER_ID
بمعرّف فريد للمستخدِم، مثل 12345678987654321
أو
hao@cymbalgroup.com
. لمزيد من المعلومات عن تحديد المستخدمين، يُرجى الاطّلاع على مقالة
تحديد مستخدمي Google Chat وتحديدهم.
لإرسال رسالة خاصة، يجب حذف ما يلي في طلبك:
إرسال رسالة نصية نيابةً عن مستخدم
يوضّح هذا القسم كيفية إرسال الرسائل نيابةً عن مستخدم باستخدام مصادقة المستخدم. عند مصادقة المستخدم، يمكن أن يتضمّن محتوى الرسالة نصًا فقط، ويجب حذف ميزات المراسلة المتوفّرة فقط في تطبيقات المحادثات، بما في ذلك واجهات البطاقات والتطبيقات المصغّرة التفاعلية.
لاستدعاء طريقة CreateMessage()
باستخدام مصادقة المستخدم، يجب تحديد الحقول التالية في الطلب:
- تمثّل نطاق تفويض
يتوافق مع مصادقة المستخدم لهذه الطريقة. يستخدم النموذج التالي النطاق
chat.messages.create
. -
Space
المورد الذي تريد نشر الرسالة فيه يجب أن يكون المستخدم الذي تمت مصادقته عضوًا في المساحة. - تمثّل هذه السمة مصدر
Message
المطلوب إنشاؤه. لتحديد محتوى الرسالة، عليك تضمين الحقلtext
.
يمكنك اختياريًا تضمين ما يلي:
- الحقل
messageId
، الذي يتيح لك تسمية الرسالة لاستخدامها في طلبات البيانات الأخرى من واجهة برمجة التطبيقات. - الحقلان
thread.threadKey
وmessageReplyOption
لبدء سلسلة محادثات أو الرد عليها إذا كانت المساحة لا تستخدم ميزة "المحادثات"، يتم تجاهل هذا الحقل.
يعرض الرمز البرمجي التالي مثالاً على كيفية إرسال تطبيق Chat لرسالة نصية في مساحة معيّنة نيابةً عن مستخدم تم مصادقة هويته:
Node.js
Python
Java
برمجة تطبيقات
لتنفيذ هذا المثال، استبدِل SPACE_NAME
برقم التعريف من حقل
name
المجموعة. يمكنك الحصول على المعرّف من خلال استدعاء الوسيطة
ListSpaces()
أو من عنوان URL للمساحة.
بدء سلسلة محادثات أو الرد عليها
بالنسبة إلى المساحات التي تستخدم سلاسل المحادثات، يمكنك تحديد ما إذا كانت رسالة جديدة تبدأ سلسلة محادثات أو ردودًا على سلسلة محادثات حالية.
تبدأ الرسائل التي تنشئها باستخدام Chat API تلقائيًا في سلسلسة محادثات جديدة. لمساعدتك في تحديد سلسلة المحادثات والردّ عليها لاحقًا، يمكنك تحديد مفتاح سلسلة المحادثات في طلبك:
- في نص الطلب، حدِّد الحقل
thread.threadKey
. - حدِّد مَعلمة الطلب
messageReplyOption
لتحديد ما يحدث إذا كان المفتاح متوفّرًا.
لإنشاء رسالة تردّ على سلسلة محادثات حالية:
- أدرِج حقل
thread
في نص طلبك. في حال ضبطها، يمكنك تحديدthreadKey
الذي أنشأته. بخلاف ذلك، عليك استخدام رمزname
المخصص للمحادثة. - حدِّد مَعلمة طلب البحث
messageReplyOption
.
يعرض الرمز التالي مثالاً على كيفية بدء تطبيق Chat بإرسال رسالة نصية تبدأ سلسلة محادثات معيّنة أو تردّ عليها، ويتم تحديدها من خلال مفتاح مساحة معيّنة بالنيابة عن مستخدم تمّت مصادقة بياناته:
Node.js
Python
Java
برمجة تطبيقات
لتشغيل هذا النموذج، استبدل ما يلي:
THREAD_KEY
: مفتاح سلسلة محادثات حالية في المساحة، أو لإنشاء سلسلة محادثات جديدة، اسم فريد لسلسلة المحادثات-
SPACE_NAME
: المعرّف من حقلname
الخاص بالمساحة يمكنك الحصول على المعرّف من خلال استدعاء الطريقةListSpaces()
أو من عنوان URL للمساحة.
تسمية رسالة
لاسترداد رسالة أو تحديدها في طلبات البيانات من واجهة برمجة التطبيقات المستقبلية، يمكنك تسمية رسالة
من خلال ضبط الحقل messageId
في طلبك.
يتيح لك تسمية رسالتك تحديد الرسالة بدون الحاجة إلى تخزين الرقم التعريفي الذي يحدّده النظام من اسم المورد للرسالة (الممثّل في الحقل
name
).
على سبيل المثال، لاسترداد رسالة باستخدام الطريقة get()
، يمكنك استخدام
اسم المورد لتحديد الرسالة المطلوب استردادها. يتم تنسيق اسم المورد
على النحو التالي: spaces/{space}/messages/{message}
، حيث يمثّل {message}
رقم التعريف الذي عيّنه النظام أو الاسم المخصّص الذي ضبطته عند إنشاء
الرسالة.
لتسمية رسالة، حدِّد رقم تعريف مخصّصًا في الحقل
messageId
عند إنشاء الرسالة. يضبط الحقل messageId
قيمة حقل
clientAssignedMessageId
الموارد Message
.
لا يمكنك تسمية رسالة إلا عند إنشائها. لا يمكنك تسمية رقم تعريف مخصّص للرسائل الحالية أو تعديله. يجب أن يستوفي المعرّف المخصّص ال requirements التالية:
- يبدأ بـ
client-
. على سبيل المثال،client-custom-name
هو معرّف مخصّص مقبولاً، ولكنcustom-name
ليس كذلك. - يحتوي على ما يصل إلى 63 حرفًا وأحرفًا لاتينية صغيرة وأرقامًا و واصلات فقط.
- أن تكون فريدة من نوعها ضمن مساحة لا يمكن لتطبيق Chat استخدام المعرّف المخصّص نفسه لرسائل مختلفة.
يعرض الرمز التالي مثالاً على كيفية إرسال تطبيق Chat رسالة نصية تتضمّن معرّفًا إلى مساحة معيّنة نيابةً عن مستخدم تم مصادقة هويته:
Node.js
Python
Java
برمجة تطبيقات
لتشغيل هذا العيّنة، استبدِل ما يلي:
SPACE_NAME
: رقم التعريف من الحقلname
الخاص بالمساحة. يمكنك الحصول على المعرّف من خلال استدعاء الوسيطةListSpaces()
أو من عنوان URL للمساحة.MESSAGE-ID
: اسم للرسالة التي تبدأ بـcustom-
. ويجب أن يكون فريدًا عن أي أسماء رسائل أخرى ينشئها تطبيق Chat في المساحة المحدّدة.
تحديد المشاكل وحلّها
عندما يعرض تطبيق Google Chat أو البطاقة خطأ، تظهر في واجهة Chat رسالة تفيد بأنّ "حدث خطأ". أو "تعذّرت معالجة طلبك". في بعض الأحيان، لا يعرض واجهة مستخدم Chat أي رسالة خطأ، ولكن ينتج عن تطبيق Chat أو البطاقة نتيجة غير متوقّعة. على سبيل المثال، قد لا تظهر رسالة البطاقة .
على الرغم من أنّه قد لا تظهر رسالة خطأ في واجهة مستخدم Chat، تتوفّر رسائل خطأ وصفية وبيانات السجلّ لمساعدتك في حلّ الأخطاء عند تفعيل تسجيل الأخطاء في تطبيقات Chat. للحصول على مساعدة في عرض الأخطاء وتصحيحها وتصحيح الأخطاء، يُرجى الاطّلاع على مقالة تحديد مشاكل Google Chat وحلّها.
مواضيع ذات صلة
- استخدِم "أداة إنشاء البطاقات" ل تصميم رسائل البطاقات بتنسيق JSON ومعاينتها لتطبيقات Chat.
- تنسيق الرسائل
- الحصول على تفاصيل عن رسالة
- عرض الرسائل في مساحة
- تعديل رسالة
- حذف رسالة
- التعرّف على المستخدمين في رسائل Google Chat
- إرسال رسائل إلى Google Chat باستخدام الردود التلقائية الواردة على الويب