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