ผู้ใช้ต้องให้สิทธิ์ส่วนเสริมและแอปพลิเคชันอื่นๆ ที่เข้าถึงข้อมูลของตน หรือดำเนินการในนามของบุคคลดังกล่าว เมื่อผู้ใช้เรียกใช้ส่วนเสริมเป็นครั้งแรก UI ของส่วนเสริมจะแสดงข้อความแจ้งการให้สิทธิ์เพื่อเริ่มขั้นตอนการให้สิทธิ์
ในระหว่างขั้นตอนนี้ ข้อความแจ้งจะบอกให้ผู้ใช้ทราบว่าแอปพลิเคชันต้องการสิทธิ์ดำเนินการใดบ้าง เช่น ส่วนเสริมอาจต้องการสิทธิ์ในการอ่านข้อความอีเมลของผู้ใช้หรือสร้างกิจกรรมในปฏิทิน โปรเจ็กต์สคริปต์ของส่วนเสริมจะกำหนดสิทธิ์แต่ละรายการเหล่านี้เป็นขอบเขต OAuth
คุณประกาศขอบเขตในไฟล์ Manifest
โดยใช้สตริง URL ในระหว่างขั้นตอนการให้สิทธิ์ Apps Script จะแสดงคำอธิบายขอบเขตที่มนุษย์อ่านได้ต่อผู้ใช้ เช่น ส่วนเสริม Google Workspace
อาจใช้ข้อความ "อ่านข้อความปัจจุบัน" ขอบเขต ซึ่งเขียนไว้ในไฟล์ Manifest เป็น
https://www.googleapis.com/auth/gmail.addons.current.message.readonly
ในระหว่างขั้นตอนการให้สิทธิ์ ส่วนเสริมที่มีขอบเขตนี้จะขอให้ผู้ใช้อนุญาตการดำเนินการต่อไปนี้แก่ส่วนเสริม ดูข้อความอีเมลเมื่อส่วนเสริมทำงาน
ขอบเขตการดู
คุณดูขอบเขตที่โปรเจ็กต์สคริปต์ต้องการในปัจจุบันได้โดยทำดังนี้
- เปิดโปรเจ็กต์สคริปต์
- คลิกภาพรวมทางด้านซ้าย
- ดูขอบเขตในส่วน "ขอบเขต OAuth ของโครงการ"
คุณยังดูขอบเขตปัจจุบันของโปรเจ็กต์สคริปต์ได้ในไฟล์ Manifest ของโปรเจ็กต์
ภายใต้oauthScopes
แต่ก็ต่อเมื่อคุณตั้งค่าขอบเขตเหล่านั้นอย่างชัดแจ้งเท่านั้น
การตั้งค่าขอบเขตที่ชัดเจน
Apps Script จะกำหนดขอบเขตที่สคริปต์ต้องการโดยอัตโนมัติด้วยการสแกน โค้ดสำหรับการเรียกใช้ฟังก์ชันที่ต้องใช้ สําหรับสคริปต์ส่วนใหญ่ การตั้งค่านี้เพียงพอและช่วยประหยัดเวลาได้ แต่สําหรับส่วนเสริมที่เผยแพร่แล้ว คุณควรควบคุมขอบเขตโดยตรงมากขึ้น
ตัวอย่างเช่น Apps Script อาจให้สิทธิ์กับโปรเจ็กต์สคริปต์ส่วนเสริม
ขอบเขต https://mail.google.com
โดยค่าเริ่มต้น เมื่อผู้ใช้ให้สิทธิ์โปรเจ็กต์สคริปต์ที่มีขอบเขตนี้ โปรเจ็กต์จะได้รับสิทธิ์เข้าถึงบัญชี Gmail ของผู้ใช้โดยสมบูรณ์ สำหรับส่วนเสริมที่เผยแพร่แล้ว คุณต้องแทนที่ขอบเขตนี้ด้วยชุดที่จำกัดมากขึ้นซึ่งครอบคลุมถึงความต้องการของส่วนเสริมเท่านั้น
คุณสามารถกำหนดขอบเขตที่โปรเจ็กต์สคริปต์ใช้อย่างชัดเจนได้โดยการแก้ไขไฟล์ Manifest ช่องไฟล์ Manifest
oauthScopes
เป็นอาร์เรย์
ของขอบเขตทั้งหมดที่ใช้โดยส่วนเสริม ในการตั้งค่าขอบเขตของโปรเจ็กต์ ให้ทำดังนี้
ดังต่อไปนี้:
- ดูขอบเขตที่ส่วนเสริมใช้อยู่ในปัจจุบัน พิจารณาว่าต้องทําการเปลี่ยนแปลงใดบ้าง เช่น ใช้ขอบเขตที่แคบลง
- เปิดไฟล์ Manifest ของส่วนเสริม
- ค้นหาฟิลด์ระดับบนสุดที่มีป้ายกำกับ
oauthScopes
หากไม่มี คุณสามารถเพิ่มได้ ฟิลด์
oauthScopes
จะระบุอาร์เรย์สตริง วิธีตั้งค่าขอบเขต โปรเจ็กต์ของคุณใช้ โดยแทนที่เนื้อหาของอาร์เรย์นี้ด้วยขอบเขตที่คุณ ต้องการใช้ เช่น สําหรับส่วนเสริม Google Workspace ที่ขยายความสามารถของ Gmail คุณอาจมีข้อมูลต่อไปนี้{ ... "oauthScopes": [ "https://www.googleapis.com/auth/gmail.addons.current.message.metadata", "https://www.googleapis.com/auth/userinfo.email" ], ... }
บันทึกการเปลี่ยนแปลงในไฟล์ Manifest
การยืนยัน OAuth
การใช้ขอบเขต OAuth บางขอบเขตที่มีความละเอียดอ่อนอาจกำหนดให้ส่วนเสริมต้องผ่านการยืนยันไคลเอ็นต์ OAuth ก่อนจึงจะเผยแพร่ได้ สำหรับข้อมูลเพิ่มเติม โปรดดูคำแนะนำต่อไปนี้
- การยืนยันไคลเอ็นต์ OAuth สําหรับ Apps Script
- แอปที่ไม่ได้รับการยืนยัน
- คำถามที่พบบ่อยเกี่ยวกับการยืนยัน OAuth
- บริการ Google APIs: นโยบายข้อมูลผู้ใช้
ขอบเขตที่จำกัด
ขอบเขตบางอย่างถูกจํากัดและอยู่ภายใต้กฎเพิ่มเติมที่ช่วยปกป้องข้อมูลผู้ใช้ หากต้องการเผยแพร่ส่วนเสริม Gmail หรือ Editor ที่ใช้ขอบเขตที่จํากัดอย่างน้อย 1 รายการ ส่วนเสริมต้องเป็นไปตามข้อจํากัดที่ระบุไว้ทั้งหมดก่อนจึงจะเผยแพร่ได้
ตรวจสอบรายการขอบเขตที่จำกัดทั้งหมด ก่อนจะเผยแพร่ หากใช้ส่วนเสริมใดก็ตาม คุณจะต้องปฏิบัติตาม พร้อมด้วย ข้อกำหนดเพิ่มเติมสำหรับขอบเขต API เฉพาะ ก่อนเผยแพร่
ขอบเขตของปฏิทิน
ด้านล่างนี้คือขอบเขตที่ใช้บ่อยสำหรับส่วนเสริมของ Google Workspace ที่ขยายความสามารถของ Google ปฏิทิน
ขอบเขต | |
---|---|
เข้าถึงข้อมูลเมตาของเหตุการณ์ |
https://www.googleapis.com/auth/calendar.addons.execute
ต้องระบุหากส่วนเสริมเข้าถึงข้อมูลเมตาของกิจกรรมในปฏิทิน อนุญาต ส่วนเสริมเพื่อเข้าถึงข้อมูลเมตาของเหตุการณ์ |
อ่านข้อมูลเหตุการณ์ที่ผู้ใช้สร้างขึ้น |
https://www.googleapis.com/auth/calendar.addons.current.event.read
ต้องระบุหากส่วนเสริมต้องอ่านข้อมูลเหตุการณ์ที่ผู้ใช้สร้างขึ้น
อนุญาตให้ส่วนเสริมเข้าถึงข้อมูลเหตุการณ์ที่ผู้ใช้สร้างขึ้น ข้อมูลนี้จะพร้อมใช้งานก็ต่อเมื่อมีการตั้งค่า |
เขียนข้อมูลเหตุการณ์ที่ผู้ใช้สร้างขึ้น |
https://www.googleapis.com/auth/calendar.addons.current.event.write
ต้องระบุหากส่วนเสริมจําเป็นต้องเขียนข้อมูลเหตุการณ์ที่ผู้ใช้สร้างขึ้น
อนุญาตให้ส่วนเสริมแก้ไขข้อมูลเหตุการณ์ที่ผู้ใช้สร้างขึ้น ข้อมูลนี้เป็น
ใช้ได้เฉพาะเมื่อ
|
ขอบเขตของไดรฟ์
ด้านล่างคือขอบเขตที่ใช้บ่อยสำหรับส่วนเสริมของ Google Workspace ซึ่งขยายไปยัง Google ไดรฟ์
ขอบเขต | |
---|---|
อ่านข้อมูลเมตาของรายการที่เลือก |
https://www.googleapis.com/auth/drive.addons.metadata.readonly
ต้องระบุหากส่วนเสริมใช้อินเทอร์เฟซตามบริบทที่ทริกเกอร์ เมื่อผู้ใช้เลือกรายการในไดรฟ์ อนุญาตให้ส่วนเสริมอ่านข้อมูลเมตาแบบจำกัดเกี่ยวกับรายการที่ผู้ใช้เลือกใน Google ไดรฟ์ ข้อมูลเมตาจะจำกัดอยู่เพียงรหัสสินค้า ชื่อ, ประเภท MIME, URL ของไอคอน และส่วนเสริมมีสิทธิ์ที่จะ เข้าถึงรายการดังกล่าว |
สิทธิ์เข้าถึงต่อไฟล์ |
https://www.googleapis.com/auth/drive.file
แนะนำหากส่วนเสริมจำเป็นต้องเข้าถึงไดรฟ์เดี่ยว
ไฟล์
มอบสิทธิ์เข้าถึงต่อไฟล์สำหรับไฟล์ที่สร้างหรือเปิดโดยแอป โดยใช้
Apps Script ไดรฟ์ขั้นสูง
บริการ การดำเนินการนี้ไม่อนุญาตให้ใช้การดำเนินการที่คล้ายกันโดยใช้
บริการไดรฟ์พื้นฐาน
อย่างไรก็ตาม การให้สิทธิ์ไฟล์จะเป็นแบบต่อไฟล์ และ
ถูกเพิกถอนเมื่อผู้ใช้ยกเลิกการให้สิทธิ์แอป |
ขอบเขตของส่วนเสริม Gmail
เรามีขอบเขต 2-3 รายการที่สร้างมาเพื่อส่วนเสริมของ Google Workspace โดยเฉพาะเพื่อช่วยปกป้องข้อมูล Gmail ของผู้ใช้ คุณต้อง เพิ่มขอบเขตเหล่านี้อย่างชัดเจน ลงในไฟล์ Manifest ของส่วนเสริม รวมถึงไฟล์อื่นๆ ต้องมีโค้ดส่วนเสริม
ด้านล่างคือขอบเขตที่ใช้บ่อยสำหรับส่วนเสริมของ Google Workspace ที่ขยายการใช้งาน Gmail ได้ คุณต้องเพิ่มรายการที่มีป้ายกำกับว่าจำเป็นลงใน ไฟล์ Manifest ของส่วนเสริม Google Workspace หากส่วนเสริมของคุณขยาย Gmail
อย่าลืมแทนที่ขอบเขต https://mail.google.com
ที่กว้างมากในส่วนเสริมด้วยชุดขอบเขตที่แคบลงซึ่งอนุญาตให้มีการโต้ตอบที่ส่วนเสริมต้องการเท่านั้น
ขอบเขต | |
---|---|
สร้างฉบับร่างใหม่ |
https://www.googleapis.com/auth/gmail.addons.current.action.compose
ต้องระบุหากส่วนเสริมใช้ เขียนทริกเกอร์การดำเนินการ อนุญาตให้ส่วนเสริมสร้างข้อความร่างและการตอบกลับใหม่ชั่วคราว ดูรายละเอียดได้ที่การเขียนข้อความร่าง ขอบเขตนี้มักใช้ร่วมกับการดำเนินการเขียนด้วย ต้องใช้โทเค็นเพื่อการเข้าถึง |
อ่านข้อมูลเมตาของข้อความที่เปิดอยู่ |
https://www.googleapis.com/auth/gmail.addons.current.message.metadata
ให้สิทธิ์เข้าถึงข้อมูลเมตาของข้อความที่เปิดอยู่ชั่วคราว (เช่น หัวเรื่องหรือผู้รับ) ไม่อนุญาตให้อ่านเนื้อหาข้อความ
และต้องใช้โทเค็นเพื่อการเข้าถึง ต้องระบุหากส่วนเสริมใช้ข้อมูลเมตาในการดำเนินการเขียน ทริกเกอร์ สำหรับการดำเนินการคอมโพสิชัน คุณต้องใช้ขอบเขตนี้หากทริกเกอร์คอมโพสิชันต้องการเข้าถึงข้อมูลเมตา ในทางปฏิบัติ สโคปนี้ช่วยให้การเขียนจดหมายทริกเกอร์สิทธิ์เข้าถึงรายชื่อผู้รับ (ถึง: สำเนาถึง: และสำเนาลับถึง:) ของอีเมลฉบับร่างตอบ |
อ่านเนื้อหาข้อความแบบเปิด |
https://www.googleapis.com/auth/gmail.addons.current.message.action
ให้สิทธิ์เข้าถึงเนื้อหาของข้อความที่เปิดอยู่เมื่อผู้ใช้โต้ตอบ เช่น เมื่อเลือกรายการเมนูของส่วนเสริม ต้องระบุโทเค็นการเข้าถึง |
อ่านเนื้อหาชุดข้อความที่เปิดอยู่ |
https://www.googleapis.com/auth/gmail.addons.current.message.readonly
ให้สิทธิ์เข้าถึงข้อมูลเมตาและเนื้อหาของข้อความที่เปิดอยู่ชั่วคราว ให้สิทธิ์เข้าถึงเนื้อหาของข้อความอื่นๆ ในข้อความเปิดด้วย ชุดข้อความ ต้องระบุโทเค็นการเข้าถึง |
อ่านเนื้อหาและข้อมูลเมตาของข้อความ |
https://www.googleapis.com/auth/gmail.readonly
อ่านข้อมูลเมตาและเนื้อหาของอีเมล รวมถึงข้อความที่เปิดอยู่ ต้องระบุหากต้องการอ่านข้อมูลเกี่ยวกับข้อความอื่นๆ เช่น เมื่อทำการค้นหาหรืออ่านชุดข้อความอีเมลทั้งหมด |
โทเค็นการเข้าถึง
ขอบเขต Gmail ที่ใช้ในส่วนเสริมของ Google Workspace จะให้สิทธิ์เข้าถึงข้อมูลผู้ใช้เป็นการชั่วคราวเท่านั้นเพื่อปกป้องข้อมูลผู้ใช้ ในการเปิดใช้การเข้าถึงชั่วคราว คุณต้องเรียกเมธอด
ฟังก์ชัน GmailApp.setCurrentMessageAccessToken(accessToken)
โดยใช้โทเค็นเพื่อการเข้าถึงเป็นอาร์กิวเมนต์ คุณต้องได้รับโทเค็นเพื่อการเข้าถึงจาก
action event object
ตัวอย่างต่อไปนี้แสดงการตั้งค่าโทเค็นการเข้าถึงเพื่ออนุญาตให้เข้าถึงข้อมูลเมตาของข้อความ ขอบเขตเดียวที่จำเป็นสำหรับตัวอย่างนี้คือ
https://www.googleapis.com/auth/gmail.addons.current.message.metadata
function readSender(e) {
var accessToken = e.gmail.accessToken;
var messageId = e.gmail.messageId;
// The following function enables short-lived access to the current
// message in Gmail. Access to other Gmail messages or data isn't
// permitted.
GmailApp.setCurrentMessageAccessToken(accessToken);
var mailMessage = GmailApp.getMessageById(messageId);
return mailMessage.getFrom();
}
ขอบเขตของเครื่องมือแก้ไข
ด้านล่างคือขอบเขตที่ใช้บ่อยสำหรับส่วนเสริมของ Google Workspace ซึ่งขยายการให้บริการเอกสาร ชีต และสไลด์
ขอบเขต | |
---|---|
การเข้าถึงไฟล์เอกสารปัจจุบัน |
https://www.googleapis.com/auth/documents.currentonly
ต้องระบุหากส่วนเสริมเข้าถึง Apps Script Docs API ให้สิทธิ์เข้าถึงเนื้อหาของเอกสารที่เปิดอยู่ชั่วคราว |
การเข้าถึงไฟล์ชีตปัจจุบัน |
https://www.googleapis.com/auth/spreadsheets.currentonly
ต้องระบุหากส่วนเสริมเข้าถึง Apps Script Sheets API ให้สิทธิ์เข้าถึงเนื้อหาของสเปรดชีตที่เปิดอยู่ชั่วคราว |
การเข้าถึงไฟล์สไลด์ปัจจุบัน |
https://www.googleapis.com/auth/presentations.currentonly
ต้องระบุหากส่วนเสริมเข้าถึง Apps Script Slides API ให้สิทธิ์เข้าถึงเนื้อหาของงานนำเสนอแบบเปิดชั่วคราว |
การเข้าถึงไฟล์ต่อไฟล์ |
https://www.googleapis.com/auth/drive.file
ต้องระบุเพื่อให้ส่วนเสริมใช้ |
ขอบเขตอื่นๆ
ส่วนเสริมของคุณอาจต้องใช้ขอบเขตเพิ่มเติมหากใช้บริการ Apps Script อื่นๆ ในกรณีส่วนใหญ่ คุณสามารถอนุญาตให้ Apps Script ตรวจหาขอบเขตเหล่านี้และอัปเดต ไฟล์ Manifest โดยอัตโนมัติ เมื่อแก้ไขรายการขอบเขตของไฟล์ Manifest โปรดอย่านำออก ขอบเขตใดก็ได้ เว้นแต่ว่าคุณจะแทนที่ด้วยตัวเลือกอื่นที่เหมาะสมกว่า เช่น ขอบเขตแคบลง
ต่อไปนี้เป็นรายการขอบเขต Apps Script ที่มักใช้ร่วมกับส่วนเสริมของ Google Workspace เพื่อใช้เป็นข้อมูลอ้างอิง
ขอบเขต | |
---|---|
อ่านอีเมลของผู้ใช้ |
https://www.googleapis.com/auth/userinfo.email
อนุญาตให้โปรเจ็กต์อ่านอีเมลของผู้ใช้ปัจจุบัน |
อนุญาตการโทรไปยังบริการภายนอก |
https://www.googleapis.com/auth/script.external_request
อนุญาตให้โปรเจ็กต์สร้าง
|
อ่านภาษาและเขตเวลาของผู้ใช้ |
https://www.googleapis.com/auth/script.locale
อนุญาตให้โปรเจ็กต์เรียนรู้ภาษาและเขตเวลาของผู้ใช้ปัจจุบัน โปรดดูรายละเอียดที่หัวข้อการเข้าถึงภาษาและเขตเวลาของผู้ใช้ |
สร้างทริกเกอร์ |
https://www.googleapis.com/auth/script.scriptapp
อนุญาตให้โปรเจ็กต์สร้างทริกเกอร์ |
แสดงตัวอย่างลิงก์ของบุคคลที่สาม |
https://www.googleapis.com/auth/workspace.linkpreview
ต้องระบุหากส่วนเสริมแสดงตัวอย่างลิงก์จากบริการของบุคคลที่สาม อนุญาตให้โปรเจ็กต์เห็นลิงก์ภายในแอปพลิเคชัน Google Workspace ขณะที่ผู้ใช้โต้ตอบกับลิงก์นั้น ดูข้อมูลเพิ่มเติมได้ที่ ดูตัวอย่างลิงก์ด้วยชิปอัจฉริยะ |
สร้างทรัพยากรของบุคคลที่สาม |
https://www.googleapis.com/auth/workspace.linkcreate
ต้องระบุหากส่วนเสริมสร้างทรัพยากรในบริการของบุคคลที่สาม อนุญาตให้โปรเจ็กต์อ่านข้อมูลที่ผู้ใช้ส่งไปยังแบบฟอร์มการสร้างทรัพยากร และแทรกลิงก์ไปยังทรัพยากรภายในแอปพลิเคชัน Google Workspace หากต้องการเรียนรู้เพิ่มเติม โปรดดูที่ สร้างทรัพยากรของบุคคลที่สามจากเมนู @ |