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

בדף הזה מוסבר איך לחבר אפליקציית Google Chat לשירות מסוים. או בכלי מחוץ ל-Google 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

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

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

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