เชื่อมต่อแอป 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 เริ่มทำงาน ขั้นตอนจะขึ้นอยู่กับข้อความที่ได้รับ แอป Chat ควรตอบกลับด้วยข้อความโดยไม่ต้องกำหนดค่าเพิ่มเติมเมื่อตอบกลับข้อความอย่างเช่น @app help

เมื่อเปลี่ยนเส้นทางผู้ใช้ไปยัง 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 มีรหัสที่ไม่ซ้ำกันของผู้ใช้และเชื่อมโยงกับรหัสผู้ใช้จาก Google Chat ได้

แม้ว่ารหัสทั้ง 2 รหัสจะไม่ได้เหมือนกันทุกประการ แต่ก็บีบบังคับได้ หากต้องการบังคับให้ค่าการอ้างสิทธิ์ sub ไปยัง Google Chat users/{user} ให้ใส่ users/ ไว้หน้าค่า เช่น ค่าการอ้างสิทธิ์ 123 จะเท่ากับชื่อผู้ใช้ users/123 ในข้อความที่ส่งถึงแอป Chat