בדף הזה מוסבר איך לחבר אפליקציה של 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 מבצעת את הפעולות הבאות:
- מחיקת ההנחיה שהוצגה למשתמש שמתחיל את התהליך.
- להמיר את ההודעה המקורית לגלויה לכולם, וכך שאר המשתתפים במרחב המשותף יכולים לראות אותה.
- שולחים שוב את ההודעה המקורית לאותה אפליקציית Chat.
כניסה אל configCompleteRedirectUrl
משפיעה רק על הודעה אחת למשתמש.
אם משתמש ניסה לשלוח כמה הודעות דרך אפליקציית Chat מספר פעמים, וכתוצאה מכך הוא קיבל כמה בקשות, לחיצה על הנחיה מסוימת והשלמת תהליך האימות וההגדרות משפיעה רק על ההודעה הספציפית הזו. שאר ההודעות לא ישתנו.
כשאירוע אינטראקציה עם MESSAGE
נשלח מחדש באופן הזה, הוא צריך להיות זהה לאירוע המקורי. עם זאת, יש מצבים מסוימים שבהם יכולים להיות הבדלים בין אירועי אינטראקציה של MESSAGE
. לדוגמה, אם בהודעה יש אזכור של אפליקציית Chat א' וגם של אפליקציית Chat ב', המשתמש יכול לערוך את ההודעה אם אפליקציית Chat א' מגיבה להודעה רגילה לפני האימות באמצעות אפליקציית Chat ב'. במקרה כזה, אפליקציית צ'אט ב' מקבלת את הטקסט של ההודעה הערוכה אחרי שהמשתמש משלים את האימות ואת ההגדרות האישיות.
אימות המשתמש ב-Chat מחוץ ל-Chat
במקרים מסוימים, למשל בקשת הרשאת OAuth ל-API, האפליקציה צריכה לקשר לכתובת URL מחוץ ל-Chat תוך שמירה על זהות המשתמש. הדרך הטובה ביותר לזהות את המשתמש במקרים כאלה היא להגן על אפליקציית היעד באמצעות כניסה באמצעות חשבון Google.
כדי לקבל את מזהה המשתמש, צריך להשתמש באסימון הזהות שונפק במהלך הכניסה. ההצהרה sub
כוללת את המזהה הייחודי של המשתמש וניתן להתאים אותה למזהה המשתמש מ-Google Chat.
למרות ששני המזהים לא זהים, אפשר לאכוף אותם. כדי לאכוף את הערך של ההצהרה sub
על users/{user}
ב-Google Chat, צריך להוסיף את הערך בתחילת הערך users/
. לדוגמה, ערך ההצהרה 123
זהה לשם המשתמש users/123
בהודעות לאפליקציית Chat.
נושאים קשורים
- בדוגמה של אפליקציית MyProfile נעשה שימוש באסימון הזהות מתגובת הכניסה באמצעות חשבון Google כדי לזהות את המשתמש.