בדף הזה מוסבר איך ליצור אפליקציה ל-Chat באמצעות Pub/Sub. סוג הארכיטקטורה הזה של אפליקציית Chat שימושי אם בארגון שלכם יש חומת אש, שיכולה למנוע מ-Chat לשלוח הודעות לאפליקציית Chat, או אם אפליקציית Chat משתמשת ב-Google Workspace Events API. עם זאת, לארכיטקטורה הזו יש את המגבלות הבאות, כי אפליקציות הצ'אט האלה יכולות לשלוח ולקבל רק הודעות אסינכרוניות:
- אי אפשר להשתמש בתיבות דו-שיח בהודעות. במקום זאת, אפשר להשתמש בהודעה בכרטיס.
- אי אפשר לעדכן כרטיסים בודדים באמצעות תגובה סינכרונית. במקום זאת, צריך לעדכן את כל ההודעה באמצעות הקריאה ל-method
patch
.
התרשים הבא מציג את הארכיטקטורה של אפליקציית צ'אט שנבנתה באמצעות Pub/Sub:
בתרשים שלמעלה, משתמש שמקיים אינטראקציה עם אפליקציית צ'אט של Pub/Sub, נהנה מזרימת המידע הבאה:
משתמש שולח הודעה באפליקציה ל-Chat, בצ'אט ישיר או במרחב ב-Chat, או שמתרחש אירוע במרחב ב-Chat שאפליקציית Chat מנויה אליו במינוי פעיל.
ההודעה נשלחת מ-Chat לנושא Pub/Sub.
שרת אפליקציות, שהוא מערכת בענן או במקום, שמכילה את הלוגיקה של אפליקציית Chat, נרשם לנושא Pub/Sub כדי לקבל את ההודעה דרך חומת האש.
אופציונלית, אפליקציית Chat יכולה להתקשר אל Chat API כדי לפרסם הודעות באופן אסינכרוני או לבצע פעולות אחרות.
דרישות מוקדמות
כשבונים אפליקציה ל-Chat, צריך לבטל את הסימון של האפשרות Build this Chat app as a Google Workspace add-on (בניית אפליקציה ל-Chat כתוסף ל-Google Workspace) בדף ההגדרות של Chat API ב-Google Cloud Console. איך מפרסמים את האפליקציה ב-Google Chat
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.
- Python 3.6 ואילך
- כלי ניהול החבילות pip
Node.js
- חשבון Google Workspace במהדורת Business או Enterprise עם גישה ל-Google Chat.
- פרויקט ב-Google Cloud שהחיוב בו מופעל. כדי לבדוק אם החיוב מופעל בפרויקט קיים, אפשר לעיין במאמר אימות סטטוס החיוב של הפרויקטים. כדי ליצור פרויקט ולהגדיר חיוב, אפשר לעיין במאמר יצירת פרויקט ב-Google Cloud.
- Node.js מגרסה 14 ואילך
- הכלי לניהול חבילות npm
-
פרויקט Node.js מאותחל. כדי לאתחל פרויקט חדש, יוצרים תיקייה חדשה ועוברים אליה, ואז מריצים את הפקודה הבאה בממשק שורת הפקודה:
npm init
הגדרת הסביבה
לפני שאתם משתמשים בממשקי Google API, אם צריכים להפעיל אותם בפרויקט ב-Google Cloud. בכל פרויקט אפשר להפעיל ממשק API אחד או יותר.במסוף Google Cloud, מפעילים את 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, ושומרים את קובץ המפתח הפרטי בספריית העבודה.
יוצרים מינוי מסוג pull לנושא.
מקצים את התפקיד 'הרשמה ל-Pub/Sub' למינוי עבור חשבון השירות שיצרתם קודם.
כתיבת התסריט
Java
ב-CLI, מספקים פרטי כניסה לחשבון שירות:
export GOOGLE_APPLICATION_CREDENTIALS=SERVICE_ACCOUNT_FILE_PATH
ב-CLI, מציינים את מזהה הפרויקט ב-Google Cloud:
export PROJECT_ID=PROJECT_ID
בממשק CLI, מציינים את מזהה המינוי של מינוי Pub/Sub שיצרתם קודם:
export SUBSCRIPTION_ID=SUBSCRIPTION_ID
בספריית העבודה, יוצרים קובץ בשם
pom.xml
.בקובץ
pom.xml
, מדביקים את הקוד הבא:בספריית העבודה, יוצרים את מבנה הספריות
src/main/java
.בספרייה
src/main/java
, יוצרים קובץ בשםMain.java
.ב-
Main.java
, מדביקים את הקוד הבא:
Python
ב-CLI, מספקים פרטי כניסה לחשבון שירות:
export GOOGLE_APPLICATION_CREDENTIALS=SERVICE_ACCOUNT_FILE_PATH
ב-CLI, מציינים את מזהה הפרויקט ב-Google Cloud:
export PROJECT_ID=PROJECT_ID
בממשק CLI, מציינים את מזהה המינוי של מינוי Pub/Sub שיצרתם קודם:
export SUBSCRIPTION_ID=SUBSCRIPTION_ID
בספריית העבודה, יוצרים קובץ בשם
requirements.txt
.בקובץ
requirements.txt
, מדביקים את הקוד הבא:בספריית העבודה, יוצרים קובץ בשם
app.py
.ב-
app.py
, מדביקים את הקוד הבא:
Node.js
ב-CLI, מספקים פרטי כניסה לחשבון שירות:
export GOOGLE_APPLICATION_CREDENTIALS=SERVICE_ACCOUNT_FILE_PATH
ב-CLI, מציינים את מזהה הפרויקט ב-Google Cloud:
export PROJECT_ID=PROJECT_ID
בממשק CLI, מציינים את מזהה המינוי של מינוי Pub/Sub שיצרתם קודם:
export SUBSCRIPTION_ID=SUBSCRIPTION_ID
בספריית העבודה, יוצרים קובץ בשם
package.json
.בקובץ
package.json
, מדביקים את הקוד הבא:בספריית העבודה, יוצרים קובץ בשם
index.js
.ב-
index.js
, מדביקים את הקוד הבא:
פרסום האפליקציה ב-Chat
במסוף Google Cloud, נכנסים אל תפריט > APIs & Services > Enabled APIs & Services > Google Chat API > Configuration.
מגדירים את אפליקציית Chat ל-Pub/Sub:
- מבטלים את הסימון של Build this Chat app as a Google Workspace add-on (פיתוח אפליקציית Chat כתוסף ל-Google Workspace). תיפתח תיבת דו-שיח שבה תתבקשו לאשר את הפעולה. בתיבת הדו-שיח, לוחצים על השבתה.
- בשדה App name, מזינים
Quickstart App
. - בקטע כתובת ה-URL של הדמות, מזינים
https://developers.google.com/chat/images/quickstart-app-avatar.png
. - בשדה תיאור, מזינים
Quickstart app
. - בקטע פונקציונליות, בוחרים באפשרות הצטרפות למרחבים ולשיחות קבוצתיות.
- בקטע Connection settings, בוחרים באפשרות Cloud Pub/Sub ומדביקים את השם של נושא Pub/Sub שיצרתם קודם.
- בקטע חשיפה, בוחרים באפשרות הפיכת האפליקציה הזו של Google Chat לזמינה לאנשים ולקבוצות ספציפיים בדומיין ומזינים את כתובת האימייל.
- בקטע יומנים, בוחרים באפשרות רישום שגיאות ביומן.
לוחצים על שמירה.
האפליקציה מוכנה לקבל הודעות ב-Chat ולענות עליהן.
הפעלת הסקריפט
ב-CLI, עוברים לספריית העבודה ומריצים את הסקריפט:
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, עוברים לדף Manage resources. לוחצים על תפריט > IAM & Admin > Manage Resources.
- ברשימת הפרויקטים, בוחרים את הפרויקט שרוצים למחוק ולוחצים על Delete .
- כדי למחוק את הפרויקט, כותבים את מזהה הפרויקט בתיבת הדו-שיח ולוחצים על Shut down.
נושאים קשורים
כדי להוסיף עוד תכונות לאפליקציית Chat, אפשר לעיין במאמרים הבאים: