หน้านี้จะอธิบายวิธีเชื่อมต่อแอป 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 เดิมอีกครั้งเป็นครั้งที่ 2
การเข้าชม configCompleteRedirectUrl
จะมีผลกับข้อความของผู้ใช้เดียวเท่านั้น
หากผู้ใช้พยายามส่งข้อความถึงแอปใน Chat หลายครั้งและได้รับข้อความแจ้งหลายครั้ง การคลิกผ่านข้อความแจ้งหนึ่งๆ และดำเนินกระบวนการตรวจสอบสิทธิ์และการกำหนดค่าให้เสร็จสมบูรณ์จะมีผลกับข้อความดังกล่าวเท่านั้น ส่วนข้อความอื่นๆ จะไม่มีการเปลี่ยนแปลง
เมื่อมีการส่งเหตุการณ์การโต้ตอบ MESSAGE
ในลักษณะนี้ เหตุการณ์ดังกล่าวควรจะเหมือนกับเหตุการณ์เดิม แต่มีบางสถานการณ์ที่เหตุการณ์การโต้ตอบของ MESSAGE
อาจแตกต่างกัน เช่น เมื่อมีข้อความพูดถึงทั้งแอป Chat A และแอป Chat B
ผู้ใช้จะแก้ไขข้อความได้หากแอป Chat A
ตอบกลับด้วยข้อความปกติก่อนตรวจสอบสิทธิ์ด้วยแอป Chat B ในกรณีนี้
แอป Chat B จะได้รับข้อความที่แก้ไขหลังจากที่ผู้ใช้ตรวจสอบสิทธิ์และกำหนดค่าเรียบร้อยแล้ว
ตรวจสอบสิทธิ์ของผู้ใช้ Chat ภายนอก Chat
ในบางกรณี เช่น การขอสิทธิ์ OAuth สำหรับ API แอปของคุณจะต้องลิงก์กับ URL ภายนอก Chat ขณะที่ยังคงรักษาข้อมูลประจำตัวของผู้ใช้ไว้ วิธีที่ดีที่สุดในการระบุผู้ใช้ในกรณีเหล่านี้คือการป้องกันแอปปลายทางด้วย Google Sign-In
ใช้โทเค็นข้อมูลประจำตัวที่ออกให้ระหว่างการลงชื่อเข้าใช้เพื่อรับรหัสผู้ใช้ การอ้างสิทธิ์ sub
มีรหัสที่ไม่ซ้ำกันของผู้ใช้และอาจเชื่อมโยงกับ User-ID จาก Google Chat
แม้ว่ารหัสทั้งสองจะไม่ได้เหมือนกันทุกประการ แต่ก็สามารถปรับเปลี่ยนได้ หากต้องการเปลี่ยนค่าของการอ้างสิทธิ์ sub
ใน Google Chat users/{user}
ให้เพิ่ม users/
ไว้หน้าค่า เช่น ค่าการอ้างสิทธิ์ 123
เทียบเท่ากับชื่อผู้ใช้ users/123
ในข้อความที่ส่งถึงแอป Chat
หัวข้อที่เกี่ยวข้อง
- ตัวอย่างแอป MyProfile ใช้โทเค็นข้อมูลประจำตัวจากการตอบกลับ Google Sign-In เพื่อระบุผู้ใช้