ผู้ใช้ต้องให้สิทธิ์โปรเจ็กต์สคริปต์ที่เข้าถึงข้อมูลหรือดำเนินการตาม แทน เมื่อผู้ใช้เรียกใช้สคริปต์ที่ต้องมีการให้สิทธิ์สำหรับ UI จะแสดงข้อความแจ้งให้เริ่มขั้นตอนการให้สิทธิ์
ในระหว่างขั้นตอนนี้ UI จะแจ้งให้ผู้ใช้ทราบว่าสคริปต์ต้องการสิทธิ์ดำเนินการใด เช่น สคริปต์อาจต้องการสิทธิ์ในการอ่านข้อความอีเมลของผู้ใช้หรือสร้างกิจกรรมในปฏิทิน โปรเจ็กต์สคริปต์ กำหนดสิทธิ์แต่ละรายการเหล่านี้เป็นขอบเขตของ OAuth
สำหรับสคริปต์ส่วนใหญ่ Apps Script จะตรวจหาขอบเขตโดยอัตโนมัติ ที่จำเป็นสำหรับคุณ คุณสามารถดูขอบเขตที่สคริปต์ใช้ ได้ทุกเมื่อ นอกจากนี้ คุณยังกําหนดขอบเขตอย่างชัดเจนใน Manifest โดยใช้สตริง URL ได้ด้วย การเกริ่นนำ ในบางครั้ง จำเป็นต้องมีขอบเขตอย่างชัดแจ้งสำหรับแอปพลิเคชันบางอย่าง เช่น ส่วนเสริม เนื่องจากแอปพลิเคชันที่เผยแพร่ควร ใช้ขอบเขตที่แคบที่สุดเท่าที่จะเป็นไปได้เสมอ
ในระหว่างขั้นตอนการให้สิทธิ์ Apps Script จะแสดงคำอธิบายขอบเขตที่จำเป็นซึ่งอ่านได้สำหรับผู้ใช้ เช่น หากสคริปต์ของคุณต้องใช้สิทธิ์เข้าถึงสเปรดชีตแบบอ่านอย่างเดียว ไฟล์ Manifest อาจมีขอบเขตเป็นhttps://www.googleapis.com/auth/spreadsheets.readonly
ในช่วง
ขั้นตอนการให้สิทธิ์ สคริปต์ที่มีขอบเขตนี้จะขอให้ผู้ใช้อนุญาต
แอปพลิเคชันไปยัง "ดู Google สเปรดชีตของคุณ"
โดยบางขอบเขตอาจนับรวมขอบเขตอื่นๆ ด้วย เช่น เมื่อให้สิทธิ์ขอบเขต
https://www.googleapis.com/auth/spreadsheets
อนุญาตสิทธิ์การเข้าถึงเพื่ออ่านและเขียน
สเปรดชีต
ขอบเขตการดู
คุณดูขอบเขตที่โปรเจ็กต์สคริปต์ต้องการในปัจจุบันได้โดยทำดังนี้
- เปิดโปรเจ็กต์สคริปต์
- คลิกภาพรวมทางด้านซ้าย
- ดูขอบเขตในส่วนขอบเขต OAuth ของโครงการ
การตั้งค่าขอบเขตที่ชัดเจน
Apps Script จะกำหนดขอบเขตที่สคริปต์ต้องการโดยอัตโนมัติ โดยการสแกนโค้ดเพื่อหาฟังก์ชันที่ต้องใช้ สำหรับสคริปต์ส่วนใหญ่ ก็เพียงพอและช่วยคุณประหยัดเวลาได้ แต่สำหรับส่วนเสริมที่เผยแพร่แล้ว แอปต่างๆ, แอป Google Chat และการเรียก Google Chat API คุณต้องออกกำลังกายมากขึ้น ควบคุมขอบเขตได้โดยตรง
บางครั้ง Apps Script จะมอบหมายขอบเขตที่ให้สิทธิ์มากๆ แก่โปรเจ็กต์โดยอัตโนมัติ กรณีนี้อาจหมายความว่าสคริปต์ของคุณขอให้ผู้ใช้ดำเนินการเกินความจำเป็น ซึ่งเป็นสิ่งที่ไม่ดี ฝึกฝน สำหรับสคริปต์ที่เผยแพร่ คุณต้องแทนที่ขอบเขตแบบกว้างด้วย ที่ครอบคลุมความต้องการของสคริปต์ แต่ไม่มากไปกว่านี้
คุณกำหนดขอบเขตที่โปรเจ็กต์สคริปต์จะใช้อย่างชัดแจ้งได้ด้วยการแก้ไข
ไฟล์ Manifest ของตน ช่องไฟล์ Manifest
oauthScopes
คืออาร์เรย์ของขอบเขตทั้งหมดที่โปรเจ็กต์ใช้ วิธีตั้งค่า
ขอบเขตของโปรเจ็กต์ ให้ทำดังนี้
- เปิดโปรเจ็กต์สคริปต์
- คลิกการตั้งค่าโปรเจ็กต์ ทางด้านซ้าย
- เลือกช่องทำเครื่องหมายแสดงไฟล์ Manifest "appsscript.json" ในเครื่องมือแก้ไข
- คลิกตัดต่อวิดีโอ ทางด้านซ้าย
- คลิกไฟล์
appsscript.json
ทางด้านซ้าย - ค้นหาฟิลด์ระดับบนสุดที่มีป้ายกำกับ
oauthScopes
หากไม่มี คุณสามารถเพิ่มได้ - ช่อง
oauthScopes
ระบุอาร์เรย์ของสตริง วิธีตั้งค่าขอบเขต โปรเจ็กต์ของคุณใช้ โดยแทนที่เนื้อหาของอาร์เรย์นี้ด้วยขอบเขตที่คุณ ต้องการใช้ เช่น{ ... "oauthScopes": [ "https://www.googleapis.com/auth/spreadsheets.readonly", "https://www.googleapis.com/auth/userinfo.email" ], ... }
- คลิกบันทึก ที่ด้านบน
การยืนยัน OAuth
ขอบเขต OAuth บางรายการมีความละเอียดอ่อนเนื่องจากอนุญาตให้เข้าถึง Google ข้อมูลผู้ใช้ หากโปรเจ็กต์สคริปต์ของคุณใช้ขอบเขตที่อนุญาตให้เข้าถึงข้อมูลผู้ใช้ โปรเจ็กต์จะต้องผ่าน การยืนยันไคลเอ็นต์ OAuth ก่อนที่จะเผยแพร่สู่สาธารณะแบบเว็บแอป หรือ ส่วนเสริม สำหรับข้อมูลเพิ่มเติม โปรดดูคำแนะนำต่อไปนี้
- การยืนยันไคลเอ็นต์ OAuth สำหรับ Apps Script
- แอปที่ไม่ได้รับการยืนยัน
- คำถามที่พบบ่อยเกี่ยวกับการยืนยัน OAuth
- บริการ Google APIs: นโยบายข้อมูลผู้ใช้
ขอบเขตที่จำกัด
นอกเหนือจากขอบเขตที่ละเอียดอ่อนแล้ว ขอบเขตบางส่วนยังได้รับการจัดประเภทเป็น จำกัด และอยู่ภายใต้กฎเพิ่มเติมที่ช่วยปกป้องข้อมูลผู้ใช้ หากคุณตั้งใจจะเผยแพร่เว็บแอปหรือส่วนเสริมที่ใช้ขอบเขตที่จํากัดอย่างน้อย 1 รายการ แอปต้องเป็นไปตามข้อจํากัดที่ระบุไว้ทั้งหมดก่อนจึงจะเผยแพร่ได้
โปรดดูรายการขอบเขตที่จำกัดทั้งหมดก่อนพยายามเผยแพร่ หากแอปของคุณใช้ API เหล่านี้ คุณต้องปฏิบัติตามข้อกำหนดเพิ่มเติมสำหรับขอบเขตนั้นๆ ของ API ก่อนเผยแพร่