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

กำหนดค่าโปรเจ็กต์ Google Cloud, เปิดใช้ Chat API และกำหนดค่าแอป Chat: ในระหว่างการพัฒนา ให้สร้างโปรเจ็กต์ Google Cloud ในโปรเจ็กต์ Google Cloud ให้เปิดใช้ Chat API, กำหนดค่าแอป Chat และตั้งค่าการตรวจสอบสิทธิ์ ดูข้อมูลเพิ่มเติมได้ที่พัฒนาบน Google Workspace และสร้างแอปใน Chat
Call 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.delete
|
ลบการสนทนาและพื้นที่ทำงาน รวมถึงยกเลิกสิทธิ์เข้าถึงไฟล์ที่เกี่ยวข้องใน Chat |
https://www.googleapis.com/auth/chat.messages
|
ดู เขียน ส่ง อัปเดต และลบข้อความ รวมถึงเพิ่ม ดู และลบความรู้สึกที่มีต่อข้อความ |
https://www.googleapis.com/auth/chat.messages.readonly
|
ดูข้อความและความรู้สึกใน Chat |
ขอบเขตในตารางก่อนหน้านี้ระบุถึงความละเอียดอ่อนตามคำจำกัดความต่อไปนี้
ไม่ละเอียดอ่อน - ขอบเขตเหล่านี้ให้การเข้าถึงที่มีขอบเขตเล็กที่สุด และต้องใช้การยืนยันแอปเบื้องต้นเท่านั้น ดูข้อมูลเกี่ยวกับข้อกำหนดนี้ได้ในขั้นตอนในการเตรียมพร้อมสำหรับการยืนยัน
ละเอียดอ่อน - ขอบเขตเหล่านี้ช่วยให้แอปเข้าถึงข้อมูล Google ของผู้ใช้ที่เฉพาะเจาะจงหลังจากได้รับสิทธิ์จากผู้ใช้แล้ว คุณจำเป็นต้องผ่านการยืนยันแอปเพิ่มเติม ดูข้อมูลเกี่ยวกับข้อกำหนดนี้ได้ที่ขั้นตอนสำหรับแอปที่ขอขอบเขตที่มีความละเอียดอ่อน
จำกัด ขอบเขตเหล่านี้ให้สิทธิ์การเข้าถึงข้อมูลผู้ใช้ Google ในวงกว้าง และคุณจะต้องดำเนินการตามขั้นตอนการยืนยันขอบเขตที่จำกัด ดูข้อมูลเกี่ยวกับข้อกำหนดนี้ได้ที่บริการ Google API: นโยบายข้อมูลผู้ใช้และข้อกำหนดเพิ่มเติมสำหรับขอบเขต API เฉพาะ โปรดดูขั้นตอนสำหรับแอปที่ขอขอบเขตที่จำกัด
หากแอปต้องมีสิทธิ์เข้าถึง Google API อื่นๆ คุณเพิ่มขอบเขตเหล่านั้นได้ด้วย ดูข้อมูลเพิ่มเติมเกี่ยวกับขอบเขต Google API ได้ที่การใช้ OAuth 2.0 เพื่อเข้าถึง Google API
ดูข้อมูลเพิ่มเติมเกี่ยวกับขอบเขตสำหรับ Google Workspace API ได้ที่กำหนดค่าหน้าจอขอความยินยอม OAuth และเลือกขอบเขต
ประเภทของการตรวจสอบสิทธิ์ที่จำเป็น
แอป Chat ตรวจสอบสิทธิ์และให้สิทธิ์ด้วย Chat API ได้ 2 วิธี ได้แก่ ข้อมูลเข้าสู่ระบบของผู้ใช้หรือบัญชีบริการ
แอป Chat จะเข้าถึงข้อมูลผู้ใช้และดำเนินการในนามของผู้ใช้ได้ด้วยการให้สิทธิ์ข้อมูลเข้าสู่ระบบของผู้ใช้ ขอบเขต OAuth จะระบุข้อมูลและการดำเนินการที่ได้รับอนุญาต แต่แอป Chat เหล่านี้จะไม่สามารถเผยแพร่แบบสาธารณะได้ ดูข้อมูลเพิ่มเติมได้ที่เผยแพร่แอป Google Chat
การให้สิทธิ์แอปจะทำให้แอป Chat เข้าถึง API ในแบบแอปโดยใช้ข้อมูลเข้าสู่ระบบบัญชีบริการ การให้สิทธิ์แอปจะใช้ขอบเขตการให้สิทธิ์ chat.bot
เสมอ
หากคุณเป็นผู้ดูแลระบบโดเมน คุณสามารถให้การมอบสิทธิ์ทั่วทั้งโดเมนเพื่อให้สิทธิ์บัญชีบริการของแอปพลิเคชันในการเข้าถึงข้อมูลของผู้ใช้โดยไม่ต้องขอคำยินยอมจากผู้ใช้แต่ละคน หลังจากกำหนดค่าการมอบสิทธิ์ทั่วทั้งโดเมนแล้ว คุณจะเรียก API โดยใช้บัญชีบริการเพื่อแอบอ้างเป็นบัญชีผู้ใช้ได้ แม้ว่าจะใช้บัญชีบริการในการตรวจสอบสิทธิ์ แต่การมอบสิทธิ์ทั่วทั้งโดเมนจะแอบอ้างเป็นผู้ใช้ และจะถือว่าเป็นการตรวจสอบสิทธิ์ผู้ใช้ ส่วนฟังก์ชันที่ต้องมีการตรวจสอบสิทธิ์ผู้ใช้จะใช้การมอบสิทธิ์ทั่วทั้งโดเมนได้
เมื่อตัดสินใจว่าจะใช้ข้อมูลเข้าสู่ระบบประเภทใดสำหรับคำขอ 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 APIs
- ตั้งค่าการตรวจสอบสิทธิ์และการให้สิทธิ์ด้วยข้อมูลเข้าสู่ระบบของผู้ใช้หรือบัญชีบริการ