การตรวจสอบสิทธิ์และการให้สิทธิ์เป็นกลไกที่ใช้ในการยืนยันตัวตนและการเข้าถึงทรัพยากรตามลำดับ เอกสารนี้ระบุวิธีการทำงานของการตรวจสอบสิทธิ์และ การให้สิทธิ์สำหรับแอป Chat และคำขอ Chat API
ภาพรวมกระบวนการ
แผนภาพต่อไปนี้แสดงขั้นตอนระดับสูงของการตรวจสอบสิทธิ์และการให้สิทธิ์สำหรับ Google Chat
กำหนดค่าโปรเจ็กต์ Google Cloud, เปิดใช้ Chat API และกำหนดค่าแอป Chat: ระหว่างการพัฒนา คุณจะสร้างโปรเจ็กต์ Google Cloud ในโปรเจ็กต์ Google Cloud คุณจะเปิดใช้ Chat API, กำหนดค่าแอป Chat และตั้งค่าการตรวจสอบสิทธิ์ ดูข้อมูลเพิ่มเติมได้ที่ พัฒนาบน Google Workspace และสร้างแอปใน Chat
เรียกใช้ Chat API: เมื่อแอปเรียกใช้ Chat API ระบบจะส่งข้อมูลเข้าสู่ระบบการตรวจสอบสิทธิ์ไปยัง Chat API หากแอปตรวจสอบสิทธิ์ด้วยบัญชีบริการ ระบบจะส่งข้อมูลเข้าสู่ระบบเป็นส่วนหนึ่งของโค้ดของแอป หากแอปกำหนดให้เรียกใช้ Chat API โดยใช้การตรวจสอบสิทธิ์ของผู้ใช้ที่ยังไม่ได้รับการอนุมัติ ระบบจะแสดงข้อความแจ้งให้ผู้ใช้ลงชื่อเข้าใช้
คำขอทรัพยากร: แอปขอสิทธิ์เข้าถึงโดยใช้ขอบเขตที่คุณระบุขณะตั้งค่าการตรวจสอบสิทธิ์
ขอความยินยอม: หากแอปมีการตรวจสอบสิทธิ์ในฐานะผู้ใช้ Google จะแสดงหน้าจอขอความยินยอม OAuth เพื่อให้ผู้ใช้ตัดสินใจได้ว่าจะให้สิทธิ์การเข้าถึงข้อมูลที่ขอแก่แอปของคุณหรือไม่ การตรวจสอบสิทธิ์ด้วยบัญชีบริการไม่ได้ต้องได้รับความยินยอมจากผู้ใช้
ส่งคำขอที่อนุมัติสำหรับทรัพยากร: หากผู้ใช้ให้ความยินยอมตามขอบเขตการให้สิทธิ์ App Bundle ของข้อมูลเข้าสู่ระบบและขอบเขตที่ผู้ใช้อนุมัติไว้ในคำขอ ระบบจะส่งคำขอไปยังเซิร์ฟเวอร์การให้สิทธิ์ของ Google เพื่อรับโทเค็นเพื่อการเข้าถึง
Google ส่งคืนโทเค็นเพื่อการเข้าถึง: โทเค็นเพื่อการเข้าถึงมีรายการขอบเขตที่ได้รับสิทธิ์ หากรายการขอบเขตที่แสดงผลมีการจำกัดมากกว่าขอบเขตที่ส่งคำขอ แอปจะปิดฟีเจอร์ที่โทเค็นจำกัดไว้
การเข้าถึงทรัพยากรที่ขอ: แอปใช้โทเค็นเพื่อการเข้าถึงจาก Google เพื่อเรียกใช้ Chat API และเข้าถึงทรัพยากร Chat API
รับโทเค็นการรีเฟรช (ไม่บังคับ): หากแอปต้องเข้าถึง Google Chat API เมื่อพ้นอายุการใช้งานของโทเค็นเพื่อการเข้าถึงเพียงรายการเดียว ก็จะได้รับโทเค็นการรีเฟรช ดูข้อมูลเพิ่มเติมได้ที่ใช้ OAuth 2.0 เพื่อเข้าถึง Google API
ขอทรัพยากรเพิ่มเติม: หากแอปต้องการเข้าถึงเพิ่มเติม แอปจะขอให้ผู้ใช้ให้สิทธิ์ขอบเขตใหม่ ซึ่งจะส่งผลให้มีคำขอใหม่เพื่อรับโทเค็นเพื่อการเข้าถึง (ขั้นตอนที่ 3-6)
เมื่อแอป Chat กำหนดให้มีการตรวจสอบสิทธิ์
แอป Chat สามารถส่งข้อความตามการโต้ตอบของผู้ใช้หรือไม่พร้อมกันก็ได้ อีกทั้งยังทํางานในนามของผู้ใช้ได้ด้วย เช่น การสร้างพื้นที่ใน Chat หรือการขอรายชื่อบุคคลในพื้นที่ใน Chat
แอป Chat ไม่จำเป็นต้องมีการตรวจสอบสิทธิ์เพื่อตอบสนองต่อการโต้ตอบของผู้ใช้ เว้นแต่ว่าแอป Chat จะเรียกใช้ Chat API หรือ Google API อื่นขณะประมวลผลการตอบกลับ
หากต้องการส่งข้อความแบบไม่พร้อมกันหรือทำงานในนามของผู้ใช้ แอป Chat จะส่งคำขอ RESTful ไปยัง Chat API ซึ่งต้องมีการตรวจสอบสิทธิ์และการให้สิทธิ์
การตอบสนองต่อการโต้ตอบของผู้ใช้ไม่จำเป็นต้องมีการตรวจสอบสิทธิ์
แอป Google Chat ไม่จำเป็นต้องตรวจสอบสิทธิ์เป็นผู้ใช้หรือแอป Chat เพื่อรับและตอบกลับเหตุการณ์การโต้ตอบพร้อมกัน
แอป Google Chat จะได้รับเหตุการณ์การโต้ตอบเมื่อใดก็ตามที่ผู้ใช้โต้ตอบกับแอปหรือเรียกใช้แอป Chat ซึ่งรวมถึงสิ่งต่อไปนี้
- ผู้ใช้ส่งข้อความไปยังแอปใน Chat
- ผู้ใช้ @พูดถึงแอป Chat
- ผู้ใช้เรียกใช้คำสั่งเครื่องหมายทับของแอป Chat
แผนภาพต่อไปนี้แสดงลำดับการตอบกลับคำขอระหว่างผู้ใช้ Chat กับแอป Chat
- ผู้ใช้จะส่งข้อความไปยังแอป Chat ใน Google Chat
- Google Chat จะส่งต่อข้อความไปยังแอป
- แอปจะได้รับข้อความ ประมวลผลข้อความ และส่งข้อความตอบกลับไปยัง Google Chat
- Google Chat จะแสดงผลคำตอบสำหรับผู้ใช้หรือในพื้นที่ทำงาน
ลำดับนี้จะทำงานซ้ำตามเหตุการณ์การโต้ตอบกับแอป Chat แต่ละเหตุการณ์
ข้อความแบบอะซิงโครนัสต้องมีการตรวจสอบสิทธิ์
ข้อความแบบอะซิงโครนัสเกิดขึ้นเมื่อแอป Chat ส่งคำขอไปยัง Chat API ซึ่งต้องมีการตรวจสอบสิทธิ์และการให้สิทธิ์
การเรียกใช้ Chat API ช่วยให้แอปใน Chat โพสต์ข้อความไปยัง Google Chat หรือทำงานให้เสร็จและเข้าถึงข้อมูลในนามของผู้ใช้ได้ เช่น หลังจากตรวจพบการหยุดทำงานของเซิร์ฟเวอร์ แอป Chat จะเรียกใช้ Chat API เพื่อดำเนินการต่อไปนี้ได้
- สร้างพื้นที่ใน Chat ที่มีไว้สำหรับตรวจสอบและแก้ไขการหยุดทำงานโดยเฉพาะ
- เพิ่มบุคคลในพื้นที่ใน Chat
- โพสต์ข้อความไปยังพื้นที่ใน Chat เพื่อให้รายละเอียดเกี่ยวกับการหยุดชะงัก
แผนภาพต่อไปนี้จะแสดงลำดับของข้อความแบบอะซิงโครนัสระหว่างแอป Chat และพื้นที่ใน Chat
- แอป Chat จะสร้างข้อความโดยการเรียกใช้ Chat API โดยใช้เมธอด
spaces.messages.create
และระบุข้อมูลเข้าสู่ระบบของผู้ใช้ในคำขอ HTTP - Google Chat จะตรวจสอบสิทธิ์แอป Chat ด้วยบัญชีบริการหรือข้อมูลเข้าสู่ระบบของผู้ใช้
- Google Chat จะแสดงข้อความของแอปไปยังพื้นที่ใน Chat ที่ระบุ
ขอบเขต Chat API
กำหนดค่าหน้าจอคำยินยอม OAuth และเลือกขอบเขตเพื่อกำหนดข้อมูลที่แสดงต่อผู้ใช้และผู้ตรวจสอบแอป รวมถึงลงทะเบียนแอปเพื่อเผยแพร่แอปในภายหลัง
หากต้องการกำหนดระดับการเข้าถึงที่ให้แก่แอป คุณต้องระบุและประกาศขอบเขตการให้สิทธิ์ ขอบเขตการให้สิทธิ์คือสตริง URI ของ OAuth 2.0 ที่มีชื่อแอป Google Workspace, ประเภทข้อมูลที่เข้าถึง และระดับการเข้าถึง
ขอบเขตที่ไม่ละเอียดอ่อน
โค้ดขอบเขต | คำอธิบาย |
---|---|
https://www.googleapis.com/auth/chat.bot
|
ขอบเขต อนุญาตให้แอป Chat ดูแชทและส่งข้อความได้ ให้สิทธิ์เข้าถึงฟีเจอร์ทั้งหมดที่ใช้ได้กับแอป Chat |
ขอบเขตที่ละเอียดอ่อน
โค้ดขอบเขต | คำอธิบาย |
---|---|
https://www.googleapis.com/auth/chat.spaces
|
สร้างการสนทนาและพื้นที่ทำงาน ตลอดจนดูหรืออัปเดตข้อมูลเมตา (รวมถึงการตั้งค่าประวัติ) ใน Chat |
https://www.googleapis.com/auth/chat.spaces.create
|
สร้างการสนทนาใหม่ใน Chat |
https://www.googleapis.com/auth/chat.spaces.readonly
|
ดูแชทและพื้นที่ทำงานใน Chat |
https://www.googleapis.com/auth/chat.memberships
|
ดู เพิ่ม และนำสมาชิกออกจากการสนทนาใน Chat |
https://www.googleapis.com/auth/chat.memberships.app
|
เพิ่มและนำตัวเองออกจากการสนทนาใน Google Chat |
https://www.googleapis.com/auth/chat.memberships.readonly
|
ดูสมาชิกในการสนทนาใน Chat |
https://www.googleapis.com/auth/chat.messages.create
|
เขียนและส่งข้อความใน Chat |
https://www.googleapis.com/auth/chat.messages.reactions
|
ดู เพิ่ม และลบความรู้สึกที่มีต่อข้อความใน Chat |
https://www.googleapis.com/auth/chat.messages.reactions.create
|
เพิ่มความรู้สึกที่มีต่อข้อความใน Chat |
https://www.googleapis.com/auth/chat.messages.reactions.readonly
|
ดูความรู้สึกที่มีต่อข้อความใน Chat |
https://www.googleapis.com/auth/chat.users.readstate
|
ดูและแก้ไขเวลาที่อ่านล่าสุดของการสนทนาใน Chat |
https://www.googleapis.com/auth/chat.users.readstate.readonly
|
ดูเวลาล่าสุดที่อ่านการสนทนาใน Chat |
ขอบเขตที่จำกัด
โค้ดขอบเขต | คำอธิบาย |
---|---|
https://www.googleapis.com/auth/chat.delete
|
ลบการสนทนาและพื้นที่ทำงาน รวมถึงนำสิทธิ์เข้าถึงไฟล์ที่เกี่ยวข้องใน Chat ออก |
https://www.googleapis.com/auth/chat.import
|
นําเข้าพื้นที่ ข้อความ และการเป็นสมาชิกไปยัง Chat โปรดดูข้อมูลเพิ่มเติมที่หัวข้อให้สิทธิ์แอปใน Chat นำเข้าข้อมูล |
https://www.googleapis.com/auth/chat.messages
|
ดู เขียน ส่ง อัปเดต และลบข้อความ รวมถึงเพิ่ม ดู และลบความรู้สึกที่มีต่อข้อความ |
https://www.googleapis.com/auth/chat.messages.readonly
|
ดูข้อความและความรู้สึกใน Chat |
ขอบเขตในตารางก่อนหน้านี้ระบุถึงความไวตามคำจำกัดความต่อไปนี้
ไม่ละเอียดอ่อน - ขอบเขตเหล่านี้ให้ขอบเขตที่เล็กที่สุดสำหรับการให้สิทธิ์ และใช้เฉพาะการยืนยันแอปพื้นฐานเท่านั้น ดูข้อมูลเกี่ยวกับข้อกำหนดนี้ได้ที่ขั้นตอนในการเตรียมพร้อมสำหรับการยืนยันตัวตน
มีความละเอียดอ่อน ขอบเขตเหล่านี้ให้สิทธิ์แอปเข้าถึงข้อมูล Google ของผู้ใช้ที่เจาะจงหลังจากได้รับสิทธิ์จากผู้ใช้ คุณจำเป็นต้องผ่านการยืนยันแอปเพิ่มเติม ดูข้อมูลเกี่ยวกับข้อกำหนดนี้ได้ที่ขั้นตอนสำหรับแอปที่ขอขอบเขตที่ละเอียดอ่อน
จำกัด - ขอบเขตเหล่านี้ให้การเข้าถึงข้อมูลผู้ใช้ Google ในวงกว้าง และกำหนดให้คุณต้องดำเนินการตามขั้นตอนการยืนยันขอบเขตที่จำกัด ดูข้อมูลเกี่ยวกับข้อกำหนดนี้ได้ที่บริการ Google API: นโยบายข้อมูลผู้ใช้และข้อกำหนดเพิ่มเติมสำหรับขอบเขต API เฉพาะ โปรดดูขั้นตอนสำหรับแอปที่ขอขอบเขตที่จำกัดด้วย
หากแอปต้องการเข้าถึง API อื่นๆ ของ Google คุณจะเพิ่มขอบเขตเหล่านั้นได้เช่นกัน ดูข้อมูลเพิ่มเติมเกี่ยวกับขอบเขต Google API ได้ที่การใช้ OAuth 2.0 เพื่อเข้าถึง Google API
หากต้องการดูข้อมูลเพิ่มเติมเกี่ยวกับขอบเขตสำหรับ Google Workspace API โปรดดูหัวข้อกำหนดค่าหน้าจอคำยินยอม OAuth และเลือกขอบเขต
ประเภทการตรวจสอบสิทธิ์ที่จำเป็น
แอป Chat ตรวจสอบสิทธิ์และให้สิทธิ์ด้วย Chat API ได้ 2 วิธี ได้แก่ ข้อมูลเข้าสู่ระบบของผู้ใช้หรือบัญชีบริการ
การให้สิทธิ์ข้อมูลเข้าสู่ระบบของผู้ใช้ช่วยให้แอป Chat เข้าถึงข้อมูลผู้ใช้และดำเนินการในนามของผู้ใช้ได้ ขอบเขต OAuth ระบุข้อมูลและการดำเนินการที่ได้รับอนุญาต
เมื่อใช้การให้สิทธิ์แอป แอป Chat จะเข้าถึง API ในรูปแบบแอปโดยใช้ข้อมูลเข้าสู่ระบบบัญชีบริการ การให้สิทธิ์แอปจะใช้ขอบเขตการให้สิทธิ์ chat.bot
เสมอ
ในการตัดสินใจว่าจะใช้ข้อมูลเข้าสู่ระบบประเภทใดสำหรับคำขอ API หนึ่งๆ โปรดทราบว่าเมธอด API บางเมธอดรองรับเฉพาะข้อมูลเข้าสู่ระบบบางประเภทเท่านั้น หากเมธอด API รองรับข้อมูลเข้าสู่ระบบทั้ง 2 ประเภท ประเภทของข้อมูลเข้าสู่ระบบที่ใช้ในการเรียกใช้จะส่งผลต่อผลลัพธ์ที่แสดง ดังนี้
- เมื่อใช้การให้สิทธิ์แอป เมธอดจะแสดงแค่ทรัพยากรที่แอปเข้าถึงได้เท่านั้น
- เมื่อมีการให้สิทธิ์ผู้ใช้ เมธอดจะส่งกลับเฉพาะทรัพยากรที่ผู้ใช้เข้าถึงได้ใน UI ของ Chat เท่านั้น
ตัวอย่างเช่น การเรียกใช้เมธอด ListSpaces
ที่มีการให้สิทธิ์แอปจะแสดงรายการพื้นที่ทํางานที่แอปเป็นสมาชิก การเรียก ListSpaces
พร้อมการให้สิทธิ์ผู้ใช้จะแสดงรายการพื้นที่ทำงานที่ผู้ใช้เป็นสมาชิก ในทางปฏิบัติ แอปอาจใช้การให้สิทธิ์ทั้ง 2 ประเภทเมื่อเรียกใช้ Chat API ทั้งนี้ขึ้นอยู่กับฟังก์ชันที่คุณต้องการ
สำหรับการเรียก Chat API แบบไม่พร้อมกัน
ตารางต่อไปนี้แสดงเมธอด Chat API และขอบเขตการให้สิทธิ์ที่รองรับ
วิธีการ | รองรับการตรวจสอบสิทธิ์ผู้ใช้ | รองรับการตรวจสอบสิทธิ์แอป | ขอบเขตการให้สิทธิ์ที่รองรับ | |
---|---|---|---|---|
พื้นที่ทำงาน | ||||
สร้างพื้นที่ทำงาน | — |
เมื่อใช้การตรวจสอบสิทธิ์ผู้ใช้ ให้ทำดังนี้
|
||
ตั้งค่าพื้นที่ทำงาน | — |
เมื่อใช้การตรวจสอบสิทธิ์ผู้ใช้ ให้ทำดังนี้
|
||
ค้นหาพื้นที่ทำงาน |
เมื่อใช้การตรวจสอบสิทธิ์ผู้ใช้ ให้ทำดังนี้
|
|||
แสดงรายการพื้นที่ทำงาน |
เมื่อใช้การตรวจสอบสิทธิ์ผู้ใช้ ให้ทำดังนี้
|
|||
อัปเดตพื้นที่ทำงาน | — |
เมื่อใช้การตรวจสอบสิทธิ์ผู้ใช้ ให้ทำดังนี้
|
||
ลบพื้นที่ทำงาน | — |
เมื่อใช้การตรวจสอบสิทธิ์ผู้ใช้ ให้ทำดังนี้
|
||
เสร็จสิ้นขั้นตอนการนําเข้าสําหรับพื้นที่ทำงาน | — |
เมื่อใช้การตรวจสอบสิทธิ์ผู้ใช้ ให้ทำดังนี้
|
||
ค้นหาข้อความส่วนตัว |
เมื่อใช้การตรวจสอบสิทธิ์ผู้ใช้ ให้ทำดังนี้
|
|||
สมาชิก | ||||
สร้างสมาชิก | — |
เมื่อใช้การตรวจสอบสิทธิ์ผู้ใช้ ให้ทำดังนี้
|
||
สมัครเป็นสมาชิก |
เมื่อใช้การตรวจสอบสิทธิ์ผู้ใช้ ให้ทำดังนี้
|
|||
สมาชิกในรายการ |
เมื่อใช้การตรวจสอบสิทธิ์ผู้ใช้ ให้ทำดังนี้
|
|||
ลบสมาชิก | — |
เมื่อใช้การตรวจสอบสิทธิ์ผู้ใช้ ให้ทำดังนี้
|
||
ข้อความ | ||||
สร้างข้อความ |
เมื่อใช้การตรวจสอบสิทธิ์ผู้ใช้ ให้ทำดังนี้
|
|||
รับข้อความ |
เมื่อใช้การตรวจสอบสิทธิ์ผู้ใช้ ให้ทำดังนี้
|
|||
แสดงรายการข้อความ | — |
เมื่อใช้การตรวจสอบสิทธิ์ผู้ใช้ ให้ทำดังนี้
|
||
อัปเดตข้อความ |
เมื่อใช้การตรวจสอบสิทธิ์ผู้ใช้ ให้ทำดังนี้
|
|||
ลบข้อความ |
เมื่อใช้การตรวจสอบสิทธิ์ผู้ใช้ ให้ทำดังนี้
|
|||
รีแอ็กชัน | ||||
สร้างความรู้สึก | — |
เมื่อใช้การตรวจสอบสิทธิ์ผู้ใช้ ให้ทำดังนี้
|
||
แสดงรายการความรู้สึก | — |
เมื่อใช้การตรวจสอบสิทธิ์ผู้ใช้ ให้ทำดังนี้
|
||
ลบรีแอ็กชัน | — |
เมื่อใช้การตรวจสอบสิทธิ์ผู้ใช้ ให้ทำดังนี้
|
||
สื่อและไฟล์แนบ | ||||
อัปโหลดสื่อเป็นไฟล์แนบ | — |
เมื่อใช้การตรวจสอบสิทธิ์ผู้ใช้ ให้ทำดังนี้
|
||
ดาวน์โหลดสื่อ |
เมื่อใช้การตรวจสอบสิทธิ์ผู้ใช้ ให้ทำดังนี้
|
|||
รับไฟล์แนบของข้อความ | — |
เมื่อใช้การตรวจสอบสิทธิ์แอป ให้ทำดังนี้
|
||
สถานะการอ่านของผู้ใช้ | ||||
ดูสถานะการอ่านพื้นที่ทำงานของผู้ใช้ | — |
เมื่อใช้การตรวจสอบสิทธิ์ผู้ใช้ ให้ทำดังนี้
|
||
อัปเดตสถานะการอ่านพื้นที่ทำงานของผู้ใช้ | — |
เมื่อใช้การตรวจสอบสิทธิ์ผู้ใช้ ให้ทำดังนี้
|
||
รับสถานะการอ่านชุดข้อความของผู้ใช้ | — |
เมื่อใช้การตรวจสอบสิทธิ์ผู้ใช้ ให้ทำดังนี้
|
||
กิจกรรมในอวกาศ | ||||
รับกิจกรรมเกี่ยวกับอวกาศ | — |
เมื่อใช้การตรวจสอบสิทธิ์ผู้ใช้ ให้ทำดังนี้
|
||
แสดงรายการเหตุการณ์ในพื้นที่ทํางาน | — |
เมื่อใช้การตรวจสอบสิทธิ์ผู้ใช้ ให้ทำดังนี้
|
สําหรับเหตุการณ์การโต้ตอบกับแอปใน Chat
ตารางต่อไปนี้แสดงวิธีทั่วไปที่ผู้ใช้โต้ตอบกับแอปใน Chat และการระบุว่าจําเป็นหรือรองรับการตรวจสอบสิทธิ์หรือไม่
สถานการณ์ | ไม่ต้องมีการตรวจสอบสิทธิ์ | รองรับการตรวจสอบสิทธิ์ผู้ใช้ | รองรับการตรวจสอบสิทธิ์แอป | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
รับข้อความจาก: |
|
|||||||||||||||
วิธีตอบข้อความ |
|
|||||||||||||||
ส่งข้อความใหม่ |
|
หัวข้อที่เกี่ยวข้อง
- ดูภาพรวมของการตรวจสอบสิทธิ์และการให้สิทธิ์ใน Google Workspace ได้ที่ดูข้อมูลเกี่ยวกับการตรวจสอบสิทธิ์และการให้สิทธิ์
- ดูภาพรวมของการตรวจสอบสิทธิ์และการให้สิทธิ์ใน Google Cloud ได้ที่ภาพรวมการตรวจสอบสิทธิ์
- ดูข้อมูลเพิ่มเติมเกี่ยวกับบัญชีบริการได้ที่บัญชีบริการ
- ดูข้อมูลเพิ่มเติมเกี่ยวกับวิธีที่ Google APIs ใช้ประโยชน์จาก OAuth 2.0 ได้ที่การใช้ OAuth 2.0 เพื่อเข้าถึง Google API
- ตั้งค่าการตรวจสอบสิทธิ์และการให้สิทธิ์ด้วยข้อมูลเข้าสู่ระบบของผู้ใช้หรือบัญชีบริการ