ผู้ใช้ต้องให้สิทธิ์โปรเจ็กต์สคริปต์ที่เข้าถึงข้อมูลหรือดำเนินการตาม แทน เมื่อผู้ใช้เรียกใช้สคริปต์ที่ต้องมีการให้สิทธิ์สำหรับ 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
คืออาร์เรย์ของขอบเขตทั้งหมดที่โปรเจ็กต์ใช้ วิธีตั้งค่า
ขอบเขตของโปรเจ็กต์ ให้ทำดังนี้
- เปิดโปรเจ็กต์สคริปต์
- คลิกการตั้งค่าโปรเจ็กต์ ทางด้านซ้าย
- เลือกช่องทำเครื่องหมายแสดง "appsscript.json" Manifest ในตัวแก้ไข
- คลิกตัดต่อวิดีโอ ทางด้านซ้าย
- คลิกไฟล์
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 เฉพาะ ก่อนเผยแพร่