หน้านี้อธิบายวิธีเชื่อมต่อแอป Google Chat กับบริการ หรือเครื่องมือที่อยู่นอก Google Chat แม้ว่าแอปแชทจะทรงพลังในตัวของมันเอง แต่ก็มักจะทำงานร่วมกับระบบอื่นๆ และต้องใช้แอปพลิเคชันคู่กันเพื่อเชื่อมต่อบัญชี อนุญาตการเข้าถึงข้อมูล แสดงข้อมูลเพิ่มเติม หรือกำหนดค่ากำหนดของผู้ใช้
ข้อกำหนดเบื้องต้น
แอป Google Chat ที่กำหนดค่าให้รับและตอบกลับเหตุการณ์การโต้ตอบ หากต้องการสร้างแอป Chat แบบอินเทอร์แอกทีฟ ให้ทำตาม การเริ่มต้นใช้งานฉบับย่ออย่างใดอย่างหนึ่งต่อไปนี้โดยอิงตามสถาปัตยกรรมของแอปที่คุณต้องการใช้- บริการ HTTP ด้วย Google Cloud Functions
- Google Apps Script
- Google Cloud Dialogflow CX
- Google Cloud Pub/Sub
ขอการกำหนดค่าแอป Chat จากผู้ใช้
หากการดำเนินการตามคำขอต้องมีการกำหนดค่าเพิ่มเติมซึ่งไม่สามารถดำเนินการให้เสร็จสมบูรณ์ในแอป Chat ได้โดยตรง ให้ส่งคืน URL การกำหนดค่าไปยังผู้ใช้เป็นส่วนหนึ่งของการตอบกลับปกติ หรือแสดง URL แบบส่วนตัวในรูปแบบต่อไปนี้
{ "actionResponse": { "type": "REQUEST_CONFIG", "url": "CONFIGURATION_URL" } }
ซึ่งจะบอกให้ Google Chat แสดงข้อความส่วนตัวแก่ผู้ใช้ โดยที่
CONFIGURATION_URL
คือลิงก์
ที่ผู้ใช้จะไปเพื่อรับการตรวจสอบสิทธิ์ การให้สิทธิ์ หรือ
การกำหนดค่าเพิ่มเติม REQUEST_CONFIG
การตอบกลับจะใช้ร่วมกับข้อความตอบกลับปกติไม่ได้ ระบบจะไม่สนใจข้อความ การ์ด หรือแอตทริบิวต์อื่นๆ
ส่งคำขอการกำหนดค่า
เมื่อแอป Chat เริ่มทำงาน ขั้นตอนจะขึ้นอยู่กับ
ข้อความที่ได้รับ เมื่อได้รับข้อความเช่น @app help
แอป Chat ควรตอบกลับด้วยข้อความโดยไม่ต้องมีการกำหนดค่าเพิ่มเติม
เมื่อเปลี่ยนเส้นทางผู้ใช้ไปยัง configCompleteRedirectUrl
ที่ระบุไว้ในข้อความต้นฉบับได้สำเร็จ Google Chat จะทำตามขั้นตอนต่อไปนี้
- ลบพรอมต์ที่แสดงต่อผู้ใช้ที่เริ่มการสนทนา
- แปลงข้อความต้นฉบับเป็นแบบสาธารณะเพื่อให้สมาชิกคนอื่นๆ ในพื้นที่ทำงานเห็น
- ส่งข้อความต้นฉบับไปยังแอป Chat เดียวกัน อีกครั้ง
การเข้าชม configCompleteRedirectUrl
จะมีผลกับข้อความของผู้ใช้เพียงรายเดียวเท่านั้น
หากผู้ใช้พยายามส่งข้อความถึงแอป Chat หลายครั้งและได้รับข้อความแจ้งหลายรายการ การคลิกผ่านข้อความแจ้งหนึ่งๆ และทําตามกระบวนการตรวจสอบสิทธิ์และการกําหนดค่าจนเสร็จสมบูรณ์จะมีผลกับข้อความนั้นๆ เท่านั้น ส่วนข้อความอื่นๆ จะไม่เปลี่ยนแปลง
เมื่อส่งMESSAGE
เหตุการณ์การโต้ตอบซ้ำด้วยวิธีนี้ เหตุการณ์ดังกล่าวควรเหมือนกับเหตุการณ์เดิมทุกประการ
อย่างไรก็ตาม มีบางกรณีที่MESSAGE
เหตุการณ์การโต้ตอบอาจแตกต่างกัน ตัวอย่างเช่น เมื่อข้อความกล่าวถึงทั้ง
แอป Chat A และแอป Chat B
ผู้ใช้จะแก้ไขข้อความได้หากแอป Chat A
ตอบกลับด้วยข้อความปกติก่อนที่จะตรวจสอบสิทธิ์ด้วย
แอป Chat B ในกรณีนี้
แอปแชท B จะได้รับข้อความที่แก้ไขแล้วหลังจากที่
ผู้ใช้ทำการตรวจสอบสิทธิ์และการกำหนดค่าเสร็จสมบูรณ์
ตรวจสอบสิทธิ์ผู้ใช้ Chat ภายนอก Chat
ในบางกรณี เช่น การขอการให้สิทธิ์ OAuth สำหรับ API แอปของคุณจะต้อง ลิงก์ไปยัง URL ภายนอก Chat ในขณะที่ยังคงรักษาข้อมูลประจำตัวของผู้ใช้ ไว้ วิธีที่ดีที่สุดในการระบุผู้ใช้ในกรณีเหล่านี้คือการป้องกันแอปปลายทางด้วย Google Sign-in
ใช้โทเค็นข้อมูลประจำตัว
ที่ออกให้ระหว่างการลงชื่อเข้าใช้เพื่อรับรหัสผู้ใช้ sub
การอ้างสิทธิ์มีรหัสที่ไม่ซ้ำกันของผู้ใช้
และเชื่อมโยงกับรหัสผู้ใช้จาก Google Chat ได้
แม้ว่ารหัสทั้ง 2 จะไม่เหมือนกันทุกประการ แต่ก็สามารถบังคับให้เหมือนกันได้ หากต้องการ
บังคับค่าของsub
อ้างสิทธิ์ไปยัง Google Chat users/{user}
ให้เติมusers/
ที่ด้านหน้าค่า เช่น ค่าการอ้างสิทธิ์ของ 123
จะเทียบเท่า
กับชื่อผู้ใช้ users/123
ในข้อความที่ส่งไปยัง
แอป Chat
หัวข้อที่เกี่ยวข้อง
- รับและตอบสนองต่อการโต้ตอบของผู้ใช้
- ตัวอย่างแอป MyProfile ใช้โทเค็นข้อมูลประจำตัวจากการตอบกลับการลงชื่อเข้าใช้ด้วย Google เพื่อระบุ ผู้ใช้