בדף הזה מוסבר איך להגדיר תגובה לפעולה מאתר אחר (webhook) כדי לשלוח הודעות אסינכרוניות אל מרחב משותף ב-Chat עם טריגרים חיצוניים. לדוגמה, אפשר: להגדיר אפליקציית מעקב כדי להודיע לאנשי הצוות שבתורם התכתבות בצ'אט כשהשרת מושבת. כדי לשלוח הודעה מסונכרנת באמצעות אפליקציית Chat, תוכלו לראות שולחים הודעה.
בארכיטקטורה מהסוג הזה משתמשים לא יכולים ליצור אינטראקציה עם התגובה לפעולה מאתר אחר (webhook) או עם הרכיבים החיצוניים המחוברים מפני שהתקשורת היא חד-כיוונית. תגובות לפעולה מאתר אחר (webhook) הן לא בממשק שיחה. הם לא יכולים להשיב להודעות או לקבל הודעות ממשתמשים, אירועי אינטראקציה של אפליקציית Chat. כדי לענות להודעות: איך יוצרים אפליקציה ל-Chat במקום webhook.
מבחינה טכנית, תגובה לפעולה מאתר אחר (webhook) היא לא אפליקציית Chat – webhooks מחברים בין אפליקציות באמצעות גרסה רגילה בקשות HTTP – הדף הזה מתייחס אליו בתור אפליקציית Chat עבור פישוט. כל webhook פועל רק במרחב המשותף ב-Chat שבו הוא רשום. webhooks נכנסים פועלים בצ'אטים אישיים, אבל רק כאשר לכל המשתמשים יש אפליקציות צ'אט מופעלות. אי אפשר לפרסם webhooks ב-Google Workspace Marketplace.
בתרשים הבא מוצגת הארכיטקטורה של תגובה לפעולה מאתר אחר (webhook) שמחוברת אל צ'אט:
בתרשים הקודם, אפליקציית Chat כוללת את הדברים הבאים זרימת מידע:
- הלוגיקה של אפליקציית Chat מקבלת מידע מ- שירותים חיצוניים מצד שלישי, כגון מערכת לניהול פרויקטים או וכלי למכירת כרטיסים.
- הלוגיקה של אפליקציית Chat מתארחת בענן או למערכת מקומית שיכולה לשלוח הודעות באמצעות webhook URL מרחב מסוים ב-Chat.
- המשתמשים יכולים לקבל הודעות מאפליקציית Chat ב: את המרחב הספציפי הזה ב-Chat, אבל לא יכולים לקיים אינטראקציה עם אפליקציית Chat.
דרישות מוקדמות
Python
- עסק או ארגון חשבון Google Workspace עם גישה אל Google Chat. הארגון שלך ב-Google Workspace צריך לאפשר למשתמשים להוסיף webhooks נכנסים ולהשתמש בהם.
- Python 3.6 ומעלה
- הכלי לניהול חבילות pip
הספרייה
httplib2
. כדי להתקין את הספרייה, מריצים את הפקודה הבאה בממשק שורת הפקודה:pip install httplib2
מרחב ב-Google Chat. כדי ליצור חשבון באמצעות Google Chat API: יוצרים מרחב משותף. כדי ליצור הודעה ב-Chat: אפשר להיכנס אל מאמר במרכז העזרה.
Node.js
- עסק או ארגון חשבון Google Workspace עם גישה אל Google Chat. הארגון שלך ב-Google Workspace צריך לאפשר למשתמשים להוסיף webhooks נכנסים ולהשתמש בהם.
- Node.js 14 ומעלה
- ה-npm כלי לניהול חבילות
- מרחב ב-Google Chat. כדי ליצור חשבון באמצעות Google Chat API: יוצרים מרחב משותף. כדי ליצור הודעה ב-Chat: אפשר להיכנס אל מאמר במרכז העזרה.
Java
- עסק או ארגון חשבון Google Workspace עם גישה אל Google Chat. הארגון שלך ב-Google Workspace צריך לאפשר למשתמשים להוסיף webhooks נכנסים ולהשתמש בהם.
- Java 11 ואילך
- הכלי לניהול חבילות של Maven
- מרחב ב-Google Chat. כדי ליצור חשבון באמצעות Google Chat API: יוצרים מרחב משותף. כדי ליצור הודעה ב-Chat: אפשר להיכנס אל מאמר במרכז העזרה.
Apps Script
- עסק או ארגון חשבון Google Workspace עם גישה אל Google Chat. הארגון שלך ב-Google Workspace צריך לאפשר למשתמשים להוסיף webhooks נכנסים ולהשתמש בהם.
- יוצרים פרויקט נפרד ב-Apps Script. ומפעילים את שירות Chat המתקדם.
- מרחב ב-Google Chat. כדי ליצור חשבון באמצעות Google Chat API: יוצרים מרחב משותף. כדי ליצור הודעה ב-Chat: אפשר להיכנס אל מאמר במרכז העזרה.
יצירת תגובה לפעולה מאתר אחר (webhook)
כדי ליצור webhook, צריך לרשום אותו במרחב ב-Chat הרצוי כדי לקבל הודעות, ואז לכתוב סקריפט ששולח הודעות.
רישום ה-webhook הנכנס
- בדפדפן, פותחים את צ'אט. אי אפשר להגדיר תגובות לפעולה מאתר אחר (webhook) דרך אפליקציית Chat לנייד.
- עוברים למרחב המשותף שבו רוצים להוסיף webhook.
- לוחצים על הסמל של ליד השם של המרחב המשותף. החץ הרחב עוד יותר ולאחר מכן לחץ על אפליקציות של שילובים.
לוחצים על
הוספת webhooks.בשדה Name, מזינים
Quickstart Webhook
.בשדה כתובת URL של הדמות, מזינים
https://developers.google.com/chat/images/chat-product-icon.png
.לוחצים על שמירה.
כדי להעתיק את ה-webhook URL, לוחצים על
עוד, ולאחר מכן לוחצים על העתקת הקישור.
כתיבת הסקריפט של התגובה לפעולה מאתר אחר (webhook)
הסקריפט לדוגמה של התגובה לפעולה מאתר אחר (webhook) שולח הודעה למרחב שבו ה-webhook
נרשם באמצעות שליחת בקשת POST
ל-webhook URL.
התשובה של Chat API כוללת מופע של
Message
כדי ללמוד איך ליצור סקריפט של תגובה לפעולה מאתר אחר (webhook) צריך לבחור שפה:
Python
בספריית העבודה, יוצרים קובץ בשם
quickstart.py
.ב-
quickstart.py
, מדביקים את הקוד הבא:מחליפים את הערך של המשתנה
url
ב-webhook URL שהעתקת כשרשמת את ה-webhook.
Node.js
בספריית העבודה, יוצרים קובץ בשם
index.js
.ב-
index.js
, מדביקים את הקוד הבא:מחליפים את הערך של המשתנה
url
ב-webhook URL שהעתקת כשרשמת את ה-webhook.
Java
בספריית העבודה, יוצרים קובץ בשם
pom.xml
.ב-
pom.xml
, מעתיקים ומדביקים את הדברים הבאים:בספריית העבודה, יוצרים את מבנה הספרייה הבא
src/main/java
בספרייה
src/main/java
, יוצרים קובץ בשםApp.java
.ב-
App.java
, מדביקים את הקוד הבא:צריך להחליף את הערך של המשתנה
URL
ב-webhook URL שרוצים שהועתק כשרשמת את ה-webhook.
Apps Script
בדפדפן, עוברים אל Apps Script.
לוחצים על פרויקט חדש.
מדביקים את הקוד הבא:
צריך להחליף את הערך של המשתנה
url
ב-webhook URL שרוצים שהועתק כשרשמת את ה-webhook.
הרצת הסקריפט של תגובה לפעולה מאתר אחר (webhook)
ב-CLI, מריצים את הסקריפט:
Python
python3 quickstart.py
Node.js
node index.js
Java
mvn compile exec:java -Dexec.mainClass=App
Apps Script
- לוחצים על Run.
כשמריצים את הקוד, התגובה לפעולה מאתר אחר (webhook) שולחת הודעה למרחב שבו רשמתי אותו.
התחלת שרשור הודעות או מענה להודעות
יש לפרט
spaces.messages.thread.threadKey
כחלק מגוף הבקשה להודעה. תלוי אם מתחילים או כדי לענות לשרשור, צריך להשתמש בערכים הבאים עבורthreadKey
:אם מתחילים שרשור, צריך להגדיר את
threadKey
למחרוזת שרירותית, אבל חשוב לכתוב את הערך הזה כדי לפרסם תשובה לשרשור.אם אתם עונים לשרשור, ציינו את ה-
threadKey
שהוגדר כש ה-thread התחיל. לדוגמה, כדי לפרסם תשובה לשרשור שבו ההודעה הראשונית השתמשה ב-MY-THREAD
, הגדרMY-THREAD
.
הגדרת ההתנהגות של השרשור אם ה-
threadKey
שצוין לא נמצא:לענות לשרשור או להתחיל שרשור חדש. מוסיפים את הפרמטר
messageReplyOption=REPLY_MESSAGE_FALLBACK_TO_NEW_THREAD
של ה-webhook URL. העברת הפרמטר הזה של כתובת אתר גורמת ל-Chat כדי לחפש שרשור קיים באמצעות הערך שצוין בשדהthreadKey
. אם רוצים נמצא, ואז ההודעות מתפרסמות כתשובה לשרשור הזה. אם לא קיים נמצא, אז ההודעה תתחיל שרשור חדש שתואם לשרשור הזהthreadKey
לענות בשרשור או לא לעשות כלום. מוסיפים את הפרמטר
messageReplyOption=REPLY_MESSAGE_OR_FAIL
ל-webhook URL. העברת הפרמטר הזה של כתובת אתר גורמת ל-Chat כדי לחפש שרשור קיים באמצעות הערך שצוין בשדהthreadKey
. אם רוצים נמצא, ואז ההודעות מתפרסמות כתשובה לשרשור הזה. אם לא קיים נמצא, ההודעה לא נשלחת.
מידע נוסף זמין בכתובת
messageReplyOption
.
דוגמת הקוד הבאה מתחילה או משיבה לשרשור הודעות: