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

หน้านี้อธิบายวิธีเชื่อมต่อแอป Google Chat กับบริการหรือเครื่องมือที่อยู่นอก Google Chat แม้ว่าแอป Chat จะมีประสิทธิภาพในตัวของมันเอง แต่แอปเหล่านี้มักจะทำงานร่วมกับระบบอื่นๆ และต้องใช้แอปพลิเคชันที่ทำงานร่วมกันเพื่อเชื่อมต่อบัญชี อนุญาตการเข้าถึงข้อมูล แสดงข้อมูลเพิ่มเติม หรือกำหนดค่าการตั้งค่าของผู้ใช้

ข้อกำหนดเบื้องต้น

แอป Google Chat ที่กำหนดค่าให้รับและตอบสนองต่อ เหตุการณ์การโต้ตอบ หากต้องการสร้างแอป Chat แบบอินเทอร์แอกทีฟ ให้ทำตามคู่มือเริ่มต้นฉบับย่อใดฉบับหนึ่งต่อไปนี้โดยอิงตาม สถาปัตยกรรมแอปที่คุณต้องการใช้:

ขอการกำหนดค่าแอป Chat จากผู้ใช้

หากการดำเนินการตามคำขอต้องมีการกำหนดค่าเพิ่มเติมที่ไม่สามารถทำได้โดยตรงในแอป Chat ให้ส่งคืน URL การกำหนดค่าให้ผู้ใช้เป็นส่วนหนึ่งของการตอบกลับปกติ หรือแสดง URL แบบส่วนตัวในรูปแบบต่อไปนี้

{
  "actionResponse": {
    "type": "REQUEST_CONFIG",
    "url": "CONFIGURATION_URL"
  }
}

ซึ่งจะบอกให้ Google Chat แสดงข้อความแจ้งแบบส่วนตัวต่อผู้ใช้ โดย CONFIGURATION_URL คือลิงก์ที่ผู้ใช้จะเข้าชมเพื่อทำการตรวจสอบสิทธิ์ การให้สิทธิ์ หรือการกำหนดค่าเพิ่มเติม การตอบกลับ REQUEST_CONFIG จะใช้ร่วมกับข้อความตอบกลับปกติไม่ได้ ระบบจะละเว้นข้อความ การ์ด หรือแอตทริบิวต์อื่นๆ

ดำเนินการตามคำขอการกำหนดค่า

เหตุการณ์การโต้ตอบ MESSAGE, ADDED_TO_SPACE, และ APP_COMMAND ทุกรายการ ที่แอป Chat ได้รับจะมีช่อง configCompleteRedirectUrl ด้วย คุณต้องเข้ารหัส URL นี้ใน URL การกำหนดค่าเพื่อใช้เมื่อกระบวนการเสร็จสมบูรณ์ การเปลี่ยนเส้นทางไปยัง URL นี้จะส่งสัญญาณไปยัง Google Chat ว่าคำขอการกำหนดค่าเสร็จสมบูรณ์แล้ว

เมื่อแอป Chat เริ่มทำงาน โฟลว์จะขึ้นอยู่กับข้อความที่ได้รับ แอป Chat ควรตอบกลับด้วยข้อความโดยไม่ต้องมีการกำหนดค่าเพิ่มเติมเมื่อได้รับข้อความ เช่น @app help

เมื่อระบบเปลี่ยนเส้นทางผู้ใช้ไปยัง configCompleteRedirectUrl ที่ระบุไว้ในข้อความเดิมได้สำเร็จ Google Chat จะทำตามขั้นตอนต่อไปนี้

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

การเข้าชม configCompleteRedirectUrl จะส่งผลต่อข้อความของผู้ใช้เพียงข้อความเดียว หากผู้ใช้พยายามส่งข้อความไปยังแอป Chat หลายครั้งและได้รับข้อความแจ้งหลายรายการ การคลิกข้อความแจ้งหนึ่งๆ และทำตามกระบวนการตรวจสอบสิทธิ์และการกำหนดค่าให้เสร็จสมบูรณ์จะส่งผลต่อข้อความนั้นๆ เท่านั้น ข้อความอื่นๆ จะไม่เปลี่ยนแปลง

เมื่อส่งเหตุการณ์การโต้ตอบ MESSAGE อีกครั้งด้วยวิธีนี้ เหตุการณ์ที่ส่งอีกครั้งควรเหมือนกับเหตุการณ์เดิม อย่างไรก็ตาม อาจมีบางกรณีที่เหตุการณ์การโต้ตอบ MESSAGE อาจแตกต่างกัน เช่น เมื่อข้อความกล่าวถึงทั้งแอป Chat A และแอป Chat B ผู้ใช้จะแก้ไขข้อความได้หากแอป Chat A ตอบกลับด้วยข้อความปกติก่อนที่จะตรวจสอบสิทธิ์กับแอป Chat B ในกรณีนี้ แอป Chat B จะได้รับข้อความที่แก้ไขแล้วหลังจากที่ผู้ใช้ทำการตรวจสอบสิทธิ์และการกำหนดค่าเสร็จสมบูรณ์

ตรวจสอบสิทธิ์ผู้ใช้ Chat นอก Chat

ในบางกรณี เช่น การขอการให้สิทธิ์ OAuth สำหรับ API แอปของคุณต้องลิงก์ไปยัง URL นอก Chat ขณะที่ยังคงข้อมูลประจำตัวของผู้ใช้ไว้ วิธีที่ดีที่สุดในการระบุตัวตนผู้ใช้ในกรณีเหล่านี้คือการป้องกันแอปปลายทางด้วย การลงชื่อเข้าใช้ด้วยบัญชี Google

ใช้ โทเค็นข้อมูลประจำตัว ที่ออกให้ระหว่างการลงชื่อเข้าใช้เพื่อรับรหัสผู้ใช้ การอ้างสิทธิ์ sub จะมีรหัสเฉพาะของผู้ใช้และสามารถเชื่อมโยงกับรหัสผู้ใช้จาก Google Chat ได้

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