במדריך הזה מוסבר איך משתמשים ב-method create() במשאב Message של Google Chat API כדי לבצע את הפעולות הבאות:
- לשלוח הודעות שמכילות טקסט, כרטיסים ווידג'טים אינטראקטיביים.
- לשלוח הודעות פרטיות למשתמש ספציפי ב-Chat.
- להתחיל שרשור הודעות או לענות להודעה בשרשור.
- לתת שם להודעה, כדי שתוכלו לציין אותה בבקשות אחרות ל-Chat API.
הגודל המקסימלי של הודעה (כולל טקסט או כרטיסים) הוא 32,000 בייטים. כדי לשלוח הודעה שחורגת מהגודל הזה, האפליקציה ל-Chat צריכה לשלוח כמה הודעות במקום זאת.
בנוסף לשליחת קריאות ל-Chat API כדי ליצור הודעות, אפליקציות לצ'אט יכולות ליצור ולשלוח הודעות כדי להשיב לאינטראקציות של משתמשים, כמו פרסום הודעת פתיחה אחרי שמשתמש מוסיף את האפליקציה לצ'אט למרחב משותף. כדי להגיב לאינטראקציות, אפליקציות צ'אט יכולות להשתמש בסוגים אחרים של תכונות להעברת הודעות, כולל תיבות דו-שיח אינטראקטיביות וממשקים של תצוגה מקדימה של קישורים. כדי לענות למשתמש, האפליקציה ל-Chat מחזירה את ההודעה באופן סינכרוני, בלי לקרוא ל-Chat API. כדי ללמוד איך לשלוח הודעות בתגובה לאינטראקציות, קראו את המאמר קבלת אינטראקציות ומענה להן באמצעות אפליקציית Google Chat.
איך ההודעות שנוצרו באמצעות Chat API מוצגות ומשויכות ב-Chat
אפשר להפעיל את השיטה create() באמצעות אימות אפליקציה ואימות משתמש.
השיוך של שולח ההודעה ב-Chat משתנה בהתאם לסוג האימות שבו אתם משתמשים.
כשאתם מאמתים את האפליקציה ל-Chat, היא שולחת את ההודעה.
App ליד השם שלו.כשמאמתים כמשתמש, אפליקציית Chat שולחת את ההודעה בשם המשתמש. בנוסף, השם של האפליקציה ל-Chat מוצג לצד ההודעה.
סוג האימות גם קובע אילו תכונות וממשקים של העברת הודעות אפשר לכלול בהודעה. באמצעות אימות אפליקציות, אפליקציות ל-Chat יכולות לשלוח הודעות שמכילות טקסט עשיר, ממשקים מבוססי-כרטיסים ווידג'טים אינטראקטיביים. באמצעות אימות משתמשים, אתם יכולים לשלוח הודעות טקסט או ליצור הודעות עם כרטיסים, כמו שמתואר במאמר יצירה ועדכון של כרטיסים אינטראקטיביים.
בסקירה הכללית על הודעות ב-Google Chat מוסבר בהרחבה על התכונות שקשורות להודעות ב-Chat API.
במדריך הזה מוסבר איך להשתמש בכל אחד מסוגי האימות כדי לשלוח הודעה באמצעות Chat API.
דרישות מוקדמות
Node.js
- חשבון Business או Enterprise ב-Google Workspace עם גישה ל-Google Chat.
- מגדירים את הסביבה:
- יוצרים פרויקט ב-Google Cloud.
- מגדירים את מסך ההסכמה של OAuth.
- מפעילים ומגדירים את Google Chat API עם שם, סמל ותיאור לאפליקציה ל-Chat.
- מתקינים את ספריית הלקוח של Cloud ל-Node.js.
- יוצרים פרטי כניסה בהתאם לאופן שבו רוצים לבצע אימות בבקשה ל-Google Chat API:
- כדי לאמת כמשתמש ב-Chat, יוצרים פרטי כניסה של מזהה לקוח OAuth ושומרים את פרטי הכניסה כקובץ JSON בשם
credentials.jsonבספרייה המקומית. - כדי לאמת את אפליקציית Chat, יוצרים פרטי כניסה לחשבון שירות ושומרים אותם כקובץ JSON בשם
credentials.json.
- כדי לאמת כמשתמש ב-Chat, יוצרים פרטי כניסה של מזהה לקוח OAuth ושומרים את פרטי הכניסה כקובץ JSON בשם
- בוחרים היקף הרשאה בהתאם לאופן שבו רוצים לאמת את הזהות – כמשתמש או כאפליקציה ל-Chat.
- מרחב משותף ב-Google Chat שהמשתמש המאומת או אפליקציית הצ'אט ששולחת את הקריאה חברים בו. כדי לאמת את הזהות של אפליקציית הצ'אט, צריך להוסיף את אפליקציית הצ'אט למרחב המשותף.
Python
- חשבון Business או Enterprise ב-Google Workspace עם גישה ל-Google Chat.
- מגדירים את הסביבה:
- יוצרים פרויקט ב-Google Cloud.
- מגדירים את מסך ההסכמה של OAuth.
- מפעילים ומגדירים את Google Chat API עם שם, סמל ותיאור לאפליקציה ל-Chat.
- מתקינים את ספריית הלקוח של Cloud ב-Python.
- יוצרים פרטי כניסה בהתאם לאופן שבו רוצים לבצע אימות בבקשה ל-Google Chat API:
- כדי לאמת כמשתמש ב-Chat, יוצרים פרטי כניסה של מזהה לקוח OAuth ושומרים את פרטי הכניסה כקובץ JSON בשם
credentials.jsonבספרייה המקומית. - כדי לאמת את אפליקציית Chat, יוצרים פרטי כניסה לחשבון שירות ושומרים אותם כקובץ JSON בשם
credentials.json.
- כדי לאמת כמשתמש ב-Chat, יוצרים פרטי כניסה של מזהה לקוח OAuth ושומרים את פרטי הכניסה כקובץ JSON בשם
- בוחרים היקף הרשאה בהתאם לאופן שבו רוצים לאמת את הזהות – כמשתמש או כאפליקציה ל-Chat.
- מרחב משותף ב-Google Chat שהמשתמש המאומת או אפליקציית הצ'אט ששולחת את הקריאה חברים בו. כדי לאמת את הזהות של אפליקציית הצ'אט, צריך להוסיף את אפליקציית הצ'אט למרחב המשותף.
Java
- חשבון Business או Enterprise ב-Google Workspace עם גישה ל-Google Chat.
- מגדירים את הסביבה:
- יוצרים פרויקט ב-Google Cloud.
- מגדירים את מסך ההסכמה של OAuth.
- מפעילים ומגדירים את Google Chat API עם שם, סמל ותיאור לאפליקציה ל-Chat.
- מתקינים את ספריית הלקוח של Cloud ב-Java.
- יוצרים פרטי כניסה בהתאם לאופן שבו רוצים לבצע אימות בבקשה ל-Google Chat API:
- כדי לאמת כמשתמש ב-Chat, יוצרים פרטי כניסה של מזהה לקוח OAuth ושומרים את פרטי הכניסה כקובץ JSON בשם
credentials.jsonבספרייה המקומית. - כדי לאמת את אפליקציית Chat, יוצרים פרטי כניסה לחשבון שירות ושומרים אותם כקובץ JSON בשם
credentials.json.
- כדי לאמת כמשתמש ב-Chat, יוצרים פרטי כניסה של מזהה לקוח OAuth ושומרים את פרטי הכניסה כקובץ JSON בשם
- בוחרים היקף הרשאה בהתאם לאופן שבו רוצים לאמת את הזהות – כמשתמש או כאפליקציה ל-Chat.
- מרחב משותף ב-Google Chat שהמשתמש המאומת או אפליקציית הצ'אט ששולחת את הקריאה חברים בו. כדי לאמת את הזהות של אפליקציית הצ'אט, צריך להוסיף את אפליקציית הצ'אט למרחב המשותף.
Apps Script
- חשבון Business או Enterprise ב-Google Workspace עם גישה ל-Google Chat.
- מגדירים את הסביבה:
- יוצרים פרויקט ב-Google Cloud.
- מגדירים את מסך ההסכמה של OAuth.
- מפעילים ומגדירים את Google Chat API עם שם, סמל ותיאור לאפליקציה ל-Chat.
- יוצרים פרויקט Apps Script עצמאי ומפעילים את שירות הצ'אט המתקדם.
- במדריך הזה, אתם צריכים להשתמש באימות משתמש או אפליקציה. כדי לאמת את אפליקציית Chat, צריך ליצור פרטי כניסה לחשבון שירות. איך מאמתים ומאשרים אפליקציה ל-Google Chat
- בוחרים היקף הרשאה בהתאם לאופן שבו רוצים לאמת את הזהות – כמשתמש או כאפליקציה ל-Chat.
- מרחב משותף ב-Google Chat שהמשתמש המאומת או אפליקציית הצ'אט ששולחת את הקריאה חברים בו. כדי לאמת את הזהות של אפליקציית הצ'אט, צריך להוסיף את אפליקציית הצ'אט למרחב המשותף.
שליחת הודעה בתור אפליקציית Chat
בקטע הזה מוסבר איך לשלוח הודעות שמכילות טקסט, כרטיסים ווידג'טים של אביזרים אינטראקטיביים באמצעות אימות אפליקציה.
כדי להפעיל את השיטה CreateMessage() באמצעות אימות של האפליקציה, צריך לציין את השדות הבאים בבקשה:
chat.botהיקף ההרשאות.- המשאב
Spaceשבו רוצים לפרסם את ההודעה. האפליקציה ל-Chat צריכה להיות חברה במרחב המשותף. - המשאב
Messageשרוצים ליצור. כדי להגדיר את תוכן ההודעה, אתם יכולים לכלול טקסט עשיר (text), ממשק אחד או יותר של כרטיסים (cardsV2) או את שניהם.
אפשר גם להוסיף את הפרטים הבאים:
- השדה
elementsכדי להוסיף ציטוטים להודעה. - השדה
accessoryWidgetsכדי לכלול כפתורים אינטראקטיביים בתחתית ההודעה. - השדה
privateMessageViewerכדי לשלוח את ההודעה באופן פרטי למשתמש מסוים. - השדה
messageId, שמאפשר לתת שם להודעה כדי להשתמש בה בבקשות API אחרות. - השדות
thread.threadKeyו-messageReplyOptionכדי להתחיל שרשור או לענות להודעה בשרשור. אם במרחב המשותף לא משתמשים בשרשורים, המערכת מתעלמת מהשדה הזה.
הקוד הבא מראה דוגמה לאופן שבו אפליקציית Chat יכולה לשלוח הודעה שפורסמה כאפליקציית Chat, שמכילה טקסט, כרטיס וכפתור שאפשר ללחוץ עליו בתחתית ההודעה:
Node.js
Python
Java
Apps Script
כדי להריץ את הדוגמה הזו, מחליפים את SPACE_NAME במזהה מהשדה name של המרחב המשותף. אפשר לאתר את המזהה באמצעות הפעלת השיטה ListSpaces() או מכתובת ה-URL של המרחב המשותף.
הוספת ווידג'טים אינטראקטיביים בתחתית ההודעה
בדוגמת הקוד הראשונה במדריך הזה, ההודעה של האפליקציה ל-Chat מציגה כפתור שאפשר ללחוץ עליו בתחתית ההודעה, שנקרא ווידג'ט עזר. ווידג'טים של אביזרים מופיעים אחרי הטקסט או הכרטיסים בהודעה. אתם יכולים להשתמש בווידג'טים האלה כדי לעודד את המשתמשים לבצע פעולות שונות בהודעה, למשל:
- לדרג את רמת הדיוק של ההודעה או את שביעות הרצון ממנה.
- לדווח על בעיה בהודעה או באפליקציה ל-Chat.
- לפתוח קישור לתוכן קשור, כמו מסמכי תיעוד.
- לסגור או להשתיק הודעות דומות מאפליקציית הצ'אט לפרק זמן מסוים.
כדי להוסיף ווידג'טים של אביזרים, צריך לכלול את השדה accessoryWidgets[] בגוף הבקשה ולציין ווידג'ט אחד או יותר שרוצים לכלול.
בתמונה הבאה מוצגת אפליקציה ל-Chat שמוסיפה להודעת טקסט ווידג'טים נלווים, כדי שהמשתמשים יוכלו לדרג את חוויית השימוש שלהם באפליקציה.
כאן מוצג גוף הבקשה שיוצרת הודעת SMS עם שני כפתורי עזר. כשמשתמש לוחץ על כפתור, הפונקציה המתאימה (כמו 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 API, צריך לציין את השדה privateMessageViewer בגוף הבקשה. כדי לציין את המשתמש, מגדירים את הערך למשאב User שמייצג את המשתמש ב-Chat. אפשר גם להשתמש בשדה name של המשאב User, כמו בדוגמה הבאה:
{
text: "Hello private world!",
privateMessageViewer: {
name: "users/USER_ID"
}
}
כדי להשתמש בדוגמה הזו, מחליפים את USER_ID במזהה ייחודי של המשתמש, כמו 12345678987654321 או hao@cymbalgroup.com. מידע נוסף על ציון משתמשים זמין במאמר זיהוי וציון משתמשי Google Chat.
כדי לשלוח הודעה פרטית, צריך להשמיט את הפרטים הבאים מהבקשה:
לשלוח התראות מאולצות או הודעות שקטות
כשאפליקציית Chat שולחת הודעה, היא יכולה להשתמש באחת מהאפשרויות הבאות כדי להודיע למשתמשים:
- התראה כפויה: Chat תמיד שולח התראה לנמענים, בלי קשר להגדרת ההתראות שלהם או לסטטוס "נא לא להפריע" (DND). ב-Chat, ההודעה מודגשת ומוקפצת ברשימת הנמענים או ברשימת הבית, ומוצג תג.
- שליחת הודעה שקטה: ב-Chat לא נשלחות התראות לנמענים. ב-Chat, ההודעה לא גורמת להדגשה או להקפצה של השיחה ברשימת המשתתפים או ברשימת השיחות במסך הבית של הנמענים, ולא מוצג תג. אם ההודעה השקטה היא ההודעה האחרונה בשיחה, התוכן שלה לא מוצג בתקציר בדף הבית.
בין אם ההתראות נשלחות בכפייה או באופן שקט, הן כוללות אינדיקטור חזותי שמודיע לנמענים על ההתנהגות המיוחדת של ההתראה.
רק אפליקציות ל-Chat שמשתמשות באימות של אפליקציות יכולות לשלוח התראות מאולצות והודעות שקטות.
להתראות מאולצות ולהודעות שקטות יש את המגבלות הבאות:
- משתמשים חיצוניים: התראות מאולצות והודעות שקטות לא חלות על משתמשים חיצוניים (אורחים) במרחב. משתמשים חיצוניים מקבלים התראות בהתאם להגדרות שלהם.
- תיוגים: אי אפשר לתייג משתמשים בהודעות שקטות. אם תתייגו מישהו בהודעה שקטה, התיוג יופיע כטקסט פשוט.
- שרשורים: אי אפשר להתחיל שרשור או לענות להודעה בשרשור בהודעה שקטה.
- סוג המרחב המשותף: אי אפשר להשתמש בהתראות כפויות ובהודעות שקטות בצ'אטים אישיים או במרחבים משותפים שבבעלות אנשים שאין להם חשבון Google Workspace.
- התראות באימייל: הודעות שקטות לא מפעילות התראות באימייל. הודעות עם התראות מאולצות מפעילות התראות באימייל רק אם הן כוללות גם אזכור של משתמש ספציפי.
כדי לאלץ התראה או לשלוח הודעה שקטה, צריך לכלול את השדה createMessageNotificationOptions בבקשה ולהגדיר את notificationType לאחת מהאפשרויות הבאות:
| ערך | התנהגות |
|---|---|
NOTIFICATION_TYPE_FORCE_NOTIFY |
הצגת התראה. |
NOTIFICATION_TYPE_SILENT |
ההודעה נשלחת בלי התראה. |
בדוגמה הבאה מוצג גוף ה-JSON של בקשה לשליחת הודעה עם התראה מאולצת:
{
"text": "Critical update: the server is down!",
"createMessageNotificationOptions": {
"notificationType": "NOTIFICATION_TYPE_FORCE_NOTIFY"
}
}
שליחת הודעת SMS בשם משתמש
בקטע הזה מוסבר איך לשלוח הודעות בשם משתמש באמצעות אימות משתמש. באמצעות אימות משתמשים, אתם יכולים לשלוח הודעות SMS או ליצור הודעות עם כרטיסים בשם המשתמש. למידע נוסף על שליחת כרטיסים בשם משתמש, ראו יצירה ועדכון של כרטיסים אינטראקטיביים.
כדי להפעיל את השיטה CreateMessage() באמצעות אימות משתמש, צריך לציין את השדות הבאים בבקשה:
- היקף הרשאה שתומך באימות משתמשים בשיטה הזו. בדוגמה הבאה נעשה שימוש בהיקף ההרשאות
chat.messages.create. - המשאב
Spaceשבו רוצים לפרסם את ההודעה. המשתמש המאומת חייב להיות חבר במרחב המשותף. - המשאב
Messageשרוצים ליצור. כדי להגדיר את תוכן ההודעה, צריך לכלול את השדהtext.
אפשר גם להוסיף את הפרטים הבאים:
- השדה
createMessageNotificationOptionsכדי לאלץ התראה או לשלוח את ההודעה באופן שקט. - השדה
messageId, שמאפשר לתת שם להודעה כדי להשתמש בה בבקשות API אחרות. - השדות
thread.threadKeyו-messageReplyOptionכדי להתחיל שרשור או לענות להודעה בשרשור. אם במרחב המשותף לא משתמשים בשרשורים, המערכת מתעלמת מהשדה הזה.
הקוד הבא מראה דוגמה לאיך אפליקציה ל-Chat יכולה לשלוח הודעת טקסט במרחב משותף נתון בשם משתמש מאומת:
Node.js
Python
Java
Apps Script
כדי להריץ את הדוגמה הזו, מחליפים את SPACE_NAME במזהה מהשדה name של המרחב המשותף. אפשר לאתר את המזהה באמצעות הפעלת השיטה ListSpaces() או מכתובת ה-URL של המרחב המשותף.
איך מתחילים שרשור או עונים בו
במרחבים משותפים שבהם משתמשים בשרשורים, אתם יכולים לציין אם הודעה חדשה תתחיל שרשור או תהיה תשובה לשרשור קיים.
כברירת מחדל, הודעות שאתם יוצרים באמצעות Chat API מתחילות שרשור חדש. כדי שתוכלו לזהות את השרשור ולהשיב לו בהמשך, אתם יכולים לציין את מפתח השרשור בבקשה:
- בגוף הבקשה, מציינים את השדה
thread.threadKey. - מציינים את פרמטר השאילתה
messageReplyOptionכדי לקבוע מה קורה אם המפתח כבר קיים.
כדי ליצור הודעה כתשובה לשרשור קיים:
- בגוף הבקשה, כוללים את השדה
thread. אם מגדירים את המדיניות, אפשר לציין אתthreadKeyשיצרתם. אחרת, צריך להשתמש ב-nameשל השרשור. - מציינים את פרמטר השאילתה
messageReplyOption.
בקטע הקוד הבא אפשר לראות דוגמה לאפליקציה ל-Chat ששולחת הודעת טקסט שמתחילה שרשור או משיבה לשרשור נתון, שמזוהה באמצעות מפתח של מרחב נתון, בשם משתמש מאומת:
Node.js
Python
Java
Apps Script
כדי להריץ את הדוגמה הזו, מחליפים את הערכים הבאים:
-
THREAD_KEY: מפתח של שרשור קיים במרחב המשותף, או שם ייחודי לשרשור חדש. -
SPACE_NAME: המזהה מהשדהnameשל המרחב המשותף. אפשר לאתר את המזהה באמצעות הפעלת השיטהListSpaces()או מכתובת ה-URL של המרחב המשותף.
איך נותנים שם להודעה
כדי לאחזר או לציין הודעה בקריאות עתידיות ל-API, אפשר לתת שם להודעה על ידי הגדרת השדה messageId בבקשה.
כשנותנים שם להודעה, אפשר לציין את ההודעה בלי לשמור את המזהה שהמערכת הקצתה משם המשאב של ההודעה (מיוצג בשדה name).
לדוגמה, כדי לאחזר הודעה באמצעות השיטה get(), משתמשים בשם המשאב כדי לציין איזו הודעה לאחזר. שם המשאב הוא בפורמט spaces/{space}/messages/{message}, כאשר {message} מייצג את המזהה שהוקצה על ידי המערכת או את השם בהתאמה אישית שהגדרתם כשיצרתם את ההודעה.
כדי לתת שם להודעה, מציינים מזהה מותאם אישית בשדה messageId כשיוצרים את ההודעה. השדה messageId מגדיר את הערך של השדה clientAssignedMessageId במשאב Message.
אפשר לתת שם להודעה רק כשיוצרים אותה. אי אפשר לתת שם למזהה מותאם אישית או לשנות אותו בהודעות קיימות. המזהה המותאם אישית צריך לעמוד בדרישות הבאות:
- מתחיל ב-
client-. לדוגמה,client-custom-nameהוא מזהה מותאם אישית תקין, אבלcustom-nameלא. - מכיל עד 63 תווים, ורק אותיות קטנות, מספרים ומקפים.
- הוא ייחודי במרחב המשותף. אפליקציית Chat לא יכולה להשתמש באותו מזהה מותאם אישית להודעות שונות.
הקוד הבא מראה דוגמה לאיך אפליקציית Chat יכולה לשלוח הודעת טקסט עם מזהה למרחב מסוים בשם משתמש מאומת:
Node.js
Python
Java
Apps Script
כדי להריץ את הדוגמה הזו, מחליפים את הערכים הבאים:
-
SPACE_NAME: המזהה מהשדהnameשל המרחב המשותף. אפשר לאתר את המזהה באמצעות הפעלת השיטהListSpaces()או מכתובת ה-URL של המרחב המשותף. -
MESSAGE-ID: שם להודעה שמתחיל ב-custom-. השם חייב להיות שונה מכל שם אחר של הודעה שנוצרה על ידי אפליקציית הצ'אט במרחב המשותף שצוין.
ציטוט הודעה
כדי לצטט הודעה אחרת, אפשר להפעיל את
CreateMessage()
(rpc,
rest)
ולהגדיר את quotedMessageMetadata
(rpc,
rest)
בבקשה.
אתם יכולים לצטט הודעות בתוך שרשור או בצ'אט הראשי, אבל לא לצטט הודעה משרשור אחר.
הקוד הבא מראה איך ליצור הודעה שמצטטת הודעה אחרת:
Node.js
import {createClientWithUserCredentials} from './authentication-utils.js';
const USER_AUTH_OAUTH_SCOPES = ['https://www.googleapis.com/auth/chat.messages.create'];
// This sample shows how to create a message that quotes another message.
async function main() {
// Create a client
const chatClient = await createClientWithUserCredentials(USER_AUTH_OAUTH_SCOPES);
// Initialize request argument(s)
const request = {
// TODO(developer): Replace SPACE_NAME .
parent: 'spaces/SPACE_NAME',
message: {
text: 'I am responding to a quoted message!',
// quotedMessageMetadata lets Chat apps respond to a message by quoting it.
quotedMessageMetadata: {
// TODO(developer): Replace QUOTED_MESSAGE_NAME
// and QUOTED_MESSAGE_LAST_UPDATE_TIME.
name: 'QUOTED_MESSAGE_NAME',
lastUpdateTime: 'QUOTED_MESSAGE_LAST_UPDATE_TIME'
}
}
};
// Make the request
const response = await chatClient.createMessage(request);
// Handle the response
console.log(response);
}
main().catch(console.error);
Python
from authentication_utils import create_client_with_user_credentials
from google.apps import chat_v1 as google_chat
from google.protobuf.timestamp_pb2 import Timestamp
SCOPES = ['https://www.googleapis.com/auth/chat.messages.create']
# This sample shows how to create a message that quotes another message.
def create_message_quote_message():
'''Creates a message that quotes another message.'''
# Create a client
client = create_client_with_user_credentials(SCOPES)
# Create a timestamp from the RFC-3339 string.
# TODO(developer): Replace QUOTED_MESSAGE_LAST_UPDATE_TIME.
last_update_time = Timestamp()
last_update_time.FromJsonString('QUOTED_MESSAGE_LAST_UPDATE_TIME')
# Initialize request argument(s)
request = google_chat.CreateMessageRequest(
# TODO(developer): Replace SPACE_NAME.
parent='spaces/SPACE_NAME',
# Create the message.
message = google_chat.Message(
text='I am responding to a quoted message!',
# quotedMessageMetadata lets Chat apps respond to a message by quoting it.
quoted_message_metadata=google_chat.QuotedMessageMetadata(
name='QUOTED_MESSAGE_NAME',
last_update_time=last_update_time
)
)
)
# Make the request
response = client.create_message(request)
# Handle the response
print(response)
create_message_quote_message()
Java
import com.google.chat.v1.ChatServiceClient;
import com.google.chat.v1.CreateMessageRequest;
import com.google.chat.v1.Message;
import com.google.chat.v1.QuotedMessageMetadata;
import com.google.protobuf.util.Timestamps;
import com.google.workspace.api.chat.samples.utils.AuthenticationUtils;
import java.text.ParseException;
// This sample shows how to create a message that quotes another message.
public class CreateMessageQuoteMessage {
public static void main(String[] args) throws Exception, ParseException {
// Create a client.
ChatServiceClient chatClient = AuthenticationUtils.createClientWithUserCredentials();
// Initialize request argument(s).
// TODO(developer): Replace SPACE_NAME, QUOTED_MESSAGE_NAME,
// and QUOTED_MESSAGE_LAST_UPDATE_TIME here.
String parent = "spaces/SPACE_NAME";
String quotedMessageName = "QUOTED_MESSAGE_NAME";
String lastUpdateTime = "QUOTED_MESSAGE_LAST_UPDATE_TIME";
QuotedMessageMetadata quotedMessageMetadata =
QuotedMessageMetadata.newBuilder()
.setName(quotedMessageName)
.setLastUpdateTime(Timestamps.parse(lastUpdateTime))
.build();
Message message = Message.newBuilder()
.setText("I am responding to a quoted message!")
.setQuotedMessageMetadata(quotedMessageMetadata)
.build();
CreateMessageRequest request =
CreateMessageRequest.newBuilder()
.setParent(parent)
.setMessage(message)
.build();
// Make the request.
Message response = chatClient.createMessage(request);
// Handle the response.
System.out.println(response);
}
}
Apps Script
/**
* Creates a message that quotes another message.
*
* Relies on the OAuth2 scope 'https://www.googleapis.com/auth/chat.messages.create'
* referenced in the manifest file (appsscript.json).
*/
function createMessageQuoteMessage() {
// Initialize request argument(s)
// TODO(developer): Replace SPACE_NAME here.
const parent = 'spaces/SPACE_NAME';
const message = {
// The text content of the message.
text: 'I am responding to a quoted message!',
// quotedMessageMetadata lets Chat apps respond to a message by quoting it.
//
// TODO(developer): Replace QUOTED_MESSAGE_NAME
// and QUOTED_MESSAGE_LAST_UPDATE_TIME .
quotedMessageMetadata: {
name: 'QUOTED_MESSAGE_NAME',
lastUpdateTime: 'QUOTED_MESSAGE_LAST_UPDATE_TIME',
}
};
// Make the request
const response = Chat.Spaces.Messages.create(message, parent);
// Handle the response
console.log(response);
}
כדי להריץ את הדוגמה הזו, מחליפים את הערכים הבאים:
-
SPACE_NAME: המזהה מהשדהnameשל המרחב. כדי לקבל את המזהה, אפשר להפעיל את ה-methodListSpaces()(rpc,rest) או להשתמש בכתובת ה-URL של המרחב המשותף. -
QUOTED_MESSAGE_NAME: משאב ההודעהname(rpc,rest) של ההודעה שרוצים לצטט, בפורמטspaces/{space}/messages/{message}. -
QUOTED_MESSAGE_LAST_UPDATE_TIME: מועד העדכון האחרון של ההודעה שרוצים לצטט. אם ההודעה לא נערכה, השדה תואם ל-createTime(rpc,rest). אם ההודעה נערכה, השדה תואם ל-lastUpdateTime(rpc,rest).
פתרון בעיות
אם אפליקציה ל-Google Chat או כרטיס מחזירים שגיאה, בממשק של Chat מופיעה ההודעה "משהו השתבש". או "לא ניתן לעבד את הבקשה שלך". לפעמים לא מוצגת הודעת שגיאה בממשק המשתמש של Chat, אבל אפליקציית Chat או הכרטיס מניבים תוצאה לא צפויה. לדוגמה, יכול להיות שהודעה בכרטיס לא תופיע.
יכול להיות שלא תופיע הודעת שגיאה בממשק המשתמש של Chat, אבל אם הפעלתם את רישום השגיאות ביומן של האפליקציות ל-Chat, תוכלו להיעזר בהודעות השגיאה המפורטות ובנתונים ביומן כדי לתקן את השגיאות. במאמר פתרון בעיות ותיקון שגיאות ב-Google Chat מוסבר איך לראות, לנפות באגים ולתקן שגיאות.
נושאים קשורים
- משתמשים בכלי ליצירת כרטיסים כדי לעצב הודעות בכרטיסי JSON לאפליקציות ל-Chat ולראות תצוגה מקדימה שלהן.
- עיצוב הודעות
- איך רואים את פרטי ההודעה
- הצגת רשימת ההודעות במרחב.
- עדכון הודעה.
- איך מוחקים הודעות?
- זיהוי משתמשים בהודעות צ'אט ב-Google Chat
- איך שולחים הודעות ל-Google Chat באמצעות webhook נכנס