توضّح هذه الصفحة كيفية إنشاء تطبيق Chat باستخدام Pub/Sub. يكون هذا النوع من البنية لتطبيق Chat مفيدًا إذا كانت مؤسستك تستخدم جدار حماية يمكنه منع Chat من إرسال الرسائل إلى تطبيق Chat، أو إذا كان تطبيق Chat يستخدم Google Workspace Events API. ومع ذلك، تواجه هذه البنية القيود التالية لأنّه لا يمكن لتطبيقات المحادثات هذه إرسال سوى الرسائل غير المتزامنة واستلامها:
- لا يمكن استخدام المحادثات في الرسائل. بدلاً من ذلك، استخدِم رسالة بطاقة.
- لا يمكن تعديل بطاقات فردية باستخدام استجابة متزامنة. بدلاً من ذلك، يمكنك تعديل
الرسالة بأكملها من خلال استدعاء الأسلوب
patch
.
يوضّح الرسم البياني التالي بنية تطبيق Chat الذي تم إنشاؤه باستخدام Pub/Sub:
في المخطّط البياني السابق، يتلقّى المستخدم الذي يتفاعل مع تطبيق Pub/Sub Chat تدفق المعلومات التالي:
يرسل مستخدم رسالة في Chat إلى تطبيق Chat، إما في رسالة مباشرة أو في مساحة Chat، أو يحدث حدث في مساحة Chat لديه اشتراك نشط في تطبيق Chat.
تُرسِل Chat الرسالة إلى موضوع Pub/Sub.
يشترك خادم التطبيقات، وهو إما نظام على السحابة الإلكترونية أو نظام على الموقع الإلكتروني يحتوي على منطق تطبيق Chat، في موضوع Pub/Sub لتلقّي الرسالة من خلال جدار الحماية.
يمكن لتطبيق Chat استدعاء واجهة برمجة التطبيقات Chat API لنشر الرسائل بشكل غير متزامن أو تنفيذ عمليات أخرى، وذلك اختياريًا.
المتطلبات الأساسية
Java
- حساب على Google Workspace من فئة Business أو Enterprise يتيح الوصول إلى Google Chat
- مشروع على Google Cloud تم تفعيل الفوترة فيه للتحقّق من أنّه تم تفعيل ميزة الفوترة في مشروع حالي، اطّلِع على مقالة التحقّق من حالة الفوترة في مشاريعك. لإنشاء مشروع وإعداد الفوترة، اطّلِع على مقالة إنشاء مشروع على Google Cloud.
- Java 11 أو إصدار أحدث
- أداة إدارة الحِزم Maven
Python
- حساب على Google Workspace من فئة Business أو Enterprise يتيح الوصول إلى Google Chat
- مشروع على Google Cloud تم تفعيل الفوترة فيه للتحقّق من أنّه تم تفعيل ميزة الفوترة في مشروع حالي، اطّلِع على مقالة التحقّق من حالة الفوترة في مشاريعك. لإنشاء مشروع وإعداد الفوترة، اطّلِع على مقالة إنشاء مشروع على Google Cloud.
- الإصدار 3.6 من Python أو إصدار أحدث
- أداة إدارة الحِزم pip
Node.js
- حساب على Google Workspace من فئة Business أو Enterprise يتيح الوصول إلى Google Chat
- مشروع على Google Cloud تم تفعيل الفوترة فيه للتحقّق من أنّه تم تفعيل ميزة الفوترة في مشروع حالي، اطّلِع على مقالة التحقّق من حالة الفوترة في مشاريعك. لإنشاء مشروع وإعداد الفوترة، اطّلِع على مقالة إنشاء مشروع على Google Cloud.
- الإصدار 14 من Node.js أو إصدار أحدث
- أداة إدارة الحِزم npm
-
مشروع Node.js تم إعداده لبدء مشروع جديد، أنشئ مجلّدًا جديدًا
وبدِّل إليه، ثم نفِّذ الأمر التالي في واجهة سطر الأوامر:
npm init
إعداد البيئة
قبل استخدام واجهات برمجة تطبيقات Google، عليك تفعيلها في مشروع على Google Cloud. يمكنك تفعيل واجهة برمجة تطبيقات واحدة أو أكثر في مشروع واحد على Google Cloud.في Google Cloud Console، فعِّل Google Chat API وPub/Sub API.
إعداد Pub/Sub
أنشئ موضوعًا في Pub/Sub يمكن أن ترسل إليه Chat API الرسائل. ننصحك باستخدام موضوع واحد لكل تطبيق Chat.
منح Chat إذن النشر للموضوع من خلال منح الدور ناشر Pub/Sub لحساب الخدمة التالي:
chat-api-push@system.gserviceaccount.com
أنشئ حساب خدمة لتطبيق Chat من أجل التفويض باستخدام Pub/Sub و Chat واحفظ ملف المفتاح الخاص في دليل العمل.
أنشئ اشتراكًا للاطّلاع على الموضوع.
إسناد دور مشترك Pub/Sub في الاشتراك لحساب الخدمة الذي أنشأته سابقًا
كتابة النص
Java
في وحدة تحكّم برمجي، قدِّم بيانات اعتماد حساب الخدمة:
export GOOGLE_APPLICATION_CREDENTIALS=SERVICE_ACCOUNT_FILE_PATH
في وحدة تحكّم برمجي، أدخِل معرّف مشروع Google Cloud:
export PROJECT_ID=PROJECT_ID
في وحدة تحكّم برمجي، أدخِل رقم تعريف اشتراك Pub/Sub الذي أنشأته سابقًا:
export SUBSCRIPTION_ID=SUBSCRIPTION_ID
في دليل العمل، أنشئ ملفًا باسم
pom.xml
.في ملف
pom.xml
، الصِق الرمز البرمجي التالي:في دليل العمل، أنشئ بنية الدليل
src/main/java
.في الدليل
src/main/java
، أنشئ ملفًا باسمMain.java
.في
Main.java
، الصِق الرمز التالي:
Python
في وحدة تحكّم برمجي، قدِّم بيانات اعتماد حساب الخدمة:
export GOOGLE_APPLICATION_CREDENTIALS=SERVICE_ACCOUNT_FILE_PATH
في وحدة تحكّم برمجي، أدخِل معرّف مشروع Google Cloud:
export PROJECT_ID=PROJECT_ID
في وحدة تحكّم برمجي، أدخِل رقم تعريف اشتراك Pub/Sub الذي أنشأته سابقًا:
export SUBSCRIPTION_ID=SUBSCRIPTION_ID
في دليل العمل، أنشئ ملفًا باسم
requirements.txt
.في ملف
requirements.txt
، الصِق الرمز البرمجي التالي:في دليل العمل، أنشئ ملفًا باسم
app.py
.في
app.py
، الصِق الرمز التالي:
Node.js
في وحدة تحكّم برمجي، قدِّم بيانات اعتماد حساب الخدمة:
export GOOGLE_APPLICATION_CREDENTIALS=SERVICE_ACCOUNT_FILE_PATH
في وحدة تحكّم برمجي، أدخِل معرّف مشروع Google Cloud:
export PROJECT_ID=PROJECT_ID
في وحدة تحكّم برمجي، أدخِل رقم تعريف اشتراك Pub/Sub الذي أنشأته سابقًا:
export SUBSCRIPTION_ID=SUBSCRIPTION_ID
في دليل العمل، أنشئ ملفًا باسم
package.json
.في ملف
package.json
، الصِق الرمز البرمجي التالي:في دليل العمل، أنشئ ملفًا باسم
index.js
.في
index.js
، الصِق الرمز التالي:
نشر التطبيق في Chat
في وحدة تحكّم Google Cloud، انتقِل إلى القائمة > واجهات برمجة التطبيقات والخدمات > واجهات برمجة التطبيقات والخدمات المفعَّلة > Google Chat API > الضبط.
ضبط إعدادات تطبيق Chat لخدمة Pub/Sub:
- في حقل اسم التطبيق، أدخِل
Quickstart App
. - في عنوان URL للصورة الرمزية، أدخِل
https://developers.google.com/chat/images/quickstart-app-avatar.png
. - في الوصف، أدخِل
Quickstart app
. - ضمن الوظيفة، اختَر تلقّي رسائل بين شخصَين والانضمام إلى المساحات والمحادثات الجماعية.
- ضمن إعدادات الربط، اختَر Cloud Pub/Sub والصِق اسم موضوع Pub/Sub الذي أنشأته سابقًا.
- ضمن مستوى الرؤية، اختَر إتاحة تطبيق Google Chat هذا لأشخاص ومجموعات معيّنة في نطاقك وأدخِل عنوان بريدك الإلكتروني.
- ضمن السجلّات، اختَر تسجيل الأخطاء في السجلّ.
- في حقل اسم التطبيق، أدخِل
انقر على حفظ.
أصبح التطبيق جاهزًا لتلقّي الرسائل والردّ عليها في Chat.
تشغيل النص البرمجي
في واجهة سطر الأوامر، انتقِل إلى دليل العمل ونفِّذ النص البرمجي:
Java
mvn compile exec:java -Dexec.mainClass=Main
Python
python -m venv env
source env/bin/activate
pip install -r requirements.txt -U
python app.py
Node.js
npm install
npm start
عند تشغيل الرمز، يبدأ التطبيق في الاستماع إلى الرسائل المنشورة في موضوع Pub/Sub.
اختبار تطبيق Chat
لاختبار تطبيق Chat، افتح مساحة رسالة مباشرة باستخدام تطبيق Chat وأرسِل رسالة:
افتح Google Chat باستخدام حساب Google Workspace الذي قدّمته عند إضافة نفسك كمختبِر موثوق.
- انقر على محادثة جديدة.
- في حقل إضافة مستخدم واحد أو أكثر، اكتب اسم تطبيق Chat.
اختَر تطبيق Chat من النتائج. ستظهر رسالة مباشرة.
- في الرسالة المباشرة الجديدة مع التطبيق، اكتب
Hello
واضغط علىenter
.
لإضافة مختبِرين موثوق بهم والاطّلاع على مزيد من المعلومات عن اختبار الميزات التفاعلية، يُرجى الاطّلاع على مقالة اختبار الميزات التفاعلية لتطبيقات Google Chat.
تحديد المشاكل وحلّها
عندما يعرض تطبيق Google Chat أو بطاقة خطأ، تظهر في واجهة Chat رسالة تفيد بأنّ "حدث خطأ". أو "تعذّرت معالجة طلبك". في بعض الأحيان، لا يعرض واجهة مستخدم Chat أي رسالة خطأ، ولكن ينتج عن تطبيق Chat أو البطاقة نتيجة غير متوقّعة. على سبيل المثال، قد لا تظهر رسالة البطاقة .
على الرغم من أنّه قد لا تظهر رسالة خطأ في واجهة مستخدم Chat، تتوفّر رسائل خطأ وصفية وبيانات السجلّ لمساعدتك في حلّ الأخطاء عند تفعيل تسجيل الأخطاء في تطبيقات Chat. للحصول على مساعدة في عرض الأخطاء وتصحيحها وتصحيح الأخطاء، يُرجى الاطّلاع على مقالة تحديد مشاكل Google Chat وحلّها.
تَنظيم
لتجنُّب تحمُّل رسوم على حسابك على Google Cloud مقابل موارد المستخدَمة في هذا الدليل التعليمي، ننصحك بحذف مشروع Cloud.
- في وحدة تحكّم Google Cloud، انتقِل إلى صفحة إدارة الموارد. انقر على القائمة > إدارة الهوية وإمكانية الوصول والمشرف > إدارة الموارد.
- في قائمة المشاريع، اختَر المشروع الذي تريد حذفه، ثم انقر على حذف .
- في مربّع الحوار، اكتب رقم تعريف المشروع، ثم انقر على إيقاف لحذف المشروع.
مواضيع ذات صلة
لإضافة المزيد من الميزات إلى تطبيق Chat، اطّلِع على الخطوات التالية: