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

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

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

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