איך מקשרים אפליקציית Chat לשירותים ולכלים אחרים

בדף הזה מוסבר איך לחבר את אפליקציית Google Chat לשירות או לכלי מחוץ ל-Google Chat. לאפליקציות ל-Chat יש יכולות משלהן, אבל לעיתים קרובות הן פועלות יחד עם מערכות אחרות ומחייבות אפליקציות נלוות כדי לחבר בין חשבונות, לאשר גישה לנתונים, להציג נתונים נוספים או להגדיר העדפות משתמש.

שליחת בקשה להגדרות של אפליקציית Chat ממשתמש

אם כדי למלא בקשה מסוימת צריך לקבוע הגדרות נוספות שאי אפשר להשלים ישירות באפליקציית Chat, אפשר להחזיר את כתובת ה-URL של ההגדרה למשתמש כחלק מתשובה רגילה או להציג אותה בפרטיות, באופן הבא:

{
  "actionResponse": {
    "type": "REQUEST_CONFIG",
    "url": "CONFIGURATION_URL"
  }
}

הפעולה הזו מנחה את Google Chat להציג למשתמש הנחיה פרטית, שבה CONFIGURATION_URL הוא קישור שאליו המשתמש יכול להיכנס כדי לבצע אימות, הרשאות או הגדרות נוספות. התשובה REQUEST_CONFIG לא יכולה להתקיים בו-זמנית עם הודעת תשובה רגילה. המערכת מתעלמת מטקסט, מכרטיסים או ממאפיינים אחרים.

השלמת הבקשה להגדרות האישיות

כל אירוע אינטראקציה MESSAGE שאפליקציית Chat מקבלת כולל גם פרמטר configCompleteRedirectUrl. צריך לקודד את כתובת ה-URL הזו בכתובת ה-URL של ההגדרה כדי להשתמש בה בסיום התהליך. מתבצעת הפניה לכתובת ה-URL הזו כדי להראות ל-Google Chat שבקשת ההגדרה נענתה.

כשאפליקציית Chat תתחיל, התהליך תלוי בהודעה הספציפית שקיבלתם. בתגובה להודעה כמו @app help, אפליקציית Chat צריכה לשלוח הודעה בלי שתצטרכו לקבוע הגדרות נוספות.

כשמשתמש מופנה אוטומטית ל-configCompleteRedirectUrl שצוין בהודעה המקורית, ב-Google Chat מבצעים את השלבים הבאים:

  1. מוחקים את ההנחיה שהוצגה למשתמש שמתחיל את התהליך.
  2. אפשר להמיר את ההודעה המקורית לגלויה לכולם, כך שהיא תהיה גלויה לשאר המשתמשים במרחב המשותף.
  3. שולחים שוב את ההודעה המקורית לאותה אפליקציית Chat.

כניסה אל configCompleteRedirectUrl משפיעה רק על הודעה אחת של משתמש. אם משתמש ניסה לשלוח הודעה לאפליקציית Chat כמה פעמים, וכתוצאה מכך קיבל כמה הנחיות, לחיצה על הנחיה מסוימת והשלמת תהליך האימות וההגדרות ישפיעו רק על ההודעה הספציפית. בשאר ההודעות לא ישתנו.

כשאירוע אינטראקציה מסוג MESSAGE נשלח מחדש באופן הזה, הוא צריך להיות זהה לאירוע המקורי. עם זאת, יש מצבים מסוימים שבהם אירועי האינטראקציה של MESSAGE עשויים להיות שונים. לדוגמה, כשאפליקציית Chat א' מציינת את גם אפליקציית Chat א' וגם את אפליקציית Chat ב', המשתמש יכול לערוך את ההודעה אם אפליקציית Chat א' מגיבה להודעה רגילה לפני האימות עם אפליקציית Chat ב'. במקרה כזה, אפליקציית Chat ב' מקבלת את הטקסט הערוך של ההודעה אחרי שהמשתמש משלים את האימות וההגדרות.

אימות המשתמשים ב-Chat מחוץ ל-Chat

במקרים מסוימים, כמו בקשת הרשאת OAuth ל-API, האפליקציה צריכה לקשר לכתובת URL מחוץ ל-Chat בלי לשנות את זהות המשתמש. הדרך הטובה ביותר לזהות את המשתמש במקרים כאלה היא לאבטח את אפליקציית היעד באמצעות כניסה באמצעות חשבון Google.

השתמשו באסימון הזהות שהונפק במהלך הכניסה כדי לאתר את מזהה המשתמש. ההצהרה sub מכילה את המזהה הייחודי של המשתמש, ואפשר להתאים אותה למזהה המשתמש מ-Google Chat.

שני המזהים לא זהים לחלוטין, אבל אפשר לאלץ אותם להשתמש בהם. כדי לאלץ את הערך של ההצהרה sub ל-users/{user} ב-Google Chat, צריך להוסיף את הערך users/ בהתחלה. לדוגמה, ערך ההצהרה 123 זהה לשם המשתמש users/123 בהודעות שנשלחות לאפליקציית Chat.