เชื่อมต่อแอป Chat กับบริการและเครื่องมืออื่นๆ

หน้านี้จะอธิบายวิธีเชื่อมต่อแอป 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 จะทำตามขั้นตอนต่อไปนี้

  1. ลบข้อความแจ้งที่แสดงต่อผู้ใช้ที่เริ่มดำเนินการ
  2. แปลงข้อความต้นฉบับให้เป็นแบบสาธารณะเพื่อให้สมาชิกคนอื่นๆ ในพื้นที่ทำงานเห็น
  3. ส่งข้อความต้นฉบับไปยังแอป 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 เพื่อระบุผู้ใช้