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

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

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

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

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

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

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

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

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

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