ขอบเขตการให้สิทธิ์

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

ในระหว่างขั้นตอนนี้ UI จะบอกผู้ใช้เกี่ยวกับสิ่งที่สคริปต์ต้องการสิทธิ์ ที่ต้องทำ เช่น สคริปต์อาจต้องการสิทธิ์ในการอ่าน ข้อความอีเมลหรือสร้างกิจกรรมในปฏิทิน โปรเจ็กต์สคริปต์ กำหนดสิทธิ์แต่ละรายการเหล่านี้เป็นขอบเขตของ OAuth

สำหรับสคริปต์ส่วนใหญ่ Apps Script จะตรวจหาขอบเขตโดยอัตโนมัติ ที่จำเป็นสำหรับคุณ คุณสามารถดูขอบเขตที่สคริปต์ใช้ ได้ทุกเมื่อ คุณยังสามารถตั้งค่าขอบเขตอย่างชัดแจ้งได้ด้วย ในไฟล์ Manifest ของคุณโดยใช้สตริง URL การเกริ่นนำ ในบางครั้ง จำเป็นต้องมีขอบเขตอย่างชัดแจ้งสำหรับแอปพลิเคชันบางอย่าง เช่น ส่วนเสริม เนื่องจากแอปพลิเคชันที่เผยแพร่ควร ใช้ขอบเขตที่แคบที่สุดเท่าที่จะเป็นไปได้เสมอ

ในระหว่างขั้นตอนการให้สิทธิ์ Apps Script จะแสดงเนื้อหาที่มนุษย์อ่านได้ คำอธิบายขอบเขตที่จำเป็นแก่ผู้ใช้ เช่น หากสคริปต์ของคุณ ต้องการสิทธิ์การเข้าถึงสเปรดชีตของคุณในระดับอ่านอย่างเดียว ไฟล์ Manifest อาจมีขอบเขต https://www.googleapis.com/auth/spreadsheets.readonly ในช่วง ขั้นตอนการให้สิทธิ์ สคริปต์ที่มีขอบเขตนี้จะขอให้ผู้ใช้อนุญาต แอปพลิเคชันไปยัง "ดู Google สเปรดชีตของคุณ"

โดยบางขอบเขตอาจนับรวมขอบเขตอื่นๆ ด้วย เช่น เมื่อให้สิทธิ์ขอบเขต https://www.googleapis.com/auth/spreadsheets อนุญาตสิทธิ์การเข้าถึงเพื่ออ่านและเขียน สเปรดชีต

กำลังดูขอบเขต

คุณสามารถดูขอบเขตที่โปรเจ็กต์สคริปต์ต้องการในปัจจุบันได้โดยทำ ดังต่อไปนี้:

  1. เปิดโปรเจ็กต์สคริปต์
  2. คลิกภาพรวมทางด้านซ้าย
  3. ดูขอบเขตในส่วนขอบเขต OAuth ของโครงการ

การตั้งค่าขอบเขตที่ชัดเจน

Apps Script จะกำหนดขอบเขตที่สคริปต์ต้องการโดยอัตโนมัติ โดยการสแกนโค้ดเพื่อหาฟังก์ชันที่ต้องใช้ สำหรับสคริปต์ส่วนใหญ่ ก็เพียงพอและช่วยคุณประหยัดเวลาได้ แต่สำหรับส่วนเสริมที่เผยแพร่แล้ว แอปต่างๆ, แอป Google Chat และการเรียก Google Chat API คุณต้องออกกำลังกายมากขึ้น ควบคุมขอบเขตได้โดยตรง

บางครั้ง Apps Script จะมอบหมายขอบเขตที่ให้สิทธิ์มากๆ แก่โปรเจ็กต์โดยอัตโนมัติ กรณีนี้อาจหมายความว่าสคริปต์ของคุณขอให้ผู้ใช้ดำเนินการเกินความจำเป็น ซึ่งเป็นเรื่องที่ไม่เหมาะสม ฝึกฝน สำหรับสคริปต์ที่เผยแพร่ คุณต้องแทนที่ขอบเขตแบบกว้างด้วย ที่ครอบคลุมความต้องการของสคริปต์ แต่ไม่มากไปกว่านี้

คุณกำหนดขอบเขตที่โปรเจ็กต์สคริปต์จะใช้อย่างชัดแจ้งได้ด้วยการแก้ไข ไฟล์ Manifest ของตน ช่องไฟล์ Manifest oauthScopes คืออาร์เรย์ของขอบเขตทั้งหมดที่โปรเจ็กต์ใช้ วิธีตั้งค่า ขอบเขตของโปรเจ็กต์ ให้ทำดังนี้

  1. เปิดโปรเจ็กต์สคริปต์
  2. คลิกการตั้งค่าโปรเจ็กต์ ทางด้านซ้าย
  3. เลือกช่องทำเครื่องหมายแสดง "appsscript.json" Manifest ในตัวแก้ไข
  4. คลิกตัดต่อวิดีโอ ทางด้านซ้าย
  5. คลิกไฟล์ appsscript.json ทางด้านซ้าย
  6. ค้นหาฟิลด์ระดับบนสุดที่มีป้ายกำกับ oauthScopes หากไม่มี ก็เพิ่มได้เลย
  7. ช่อง oauthScopes ระบุอาร์เรย์ของสตริง วิธีตั้งค่าขอบเขต โปรเจ็กต์ของคุณใช้ โดยแทนที่เนื้อหาของอาร์เรย์นี้ด้วยขอบเขตที่คุณ ต้องการใช้ ดังตัวอย่างต่อไปนี้
          {
            ...
            "oauthScopes": [
              "https://www.googleapis.com/auth/spreadsheets.readonly",
              "https://www.googleapis.com/auth/userinfo.email"
            ],
           ...
          }
    
  8. คลิกบันทึก ที่ด้านบน

การยืนยัน OAuth

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

ขอบเขตที่จำกัด

นอกเหนือจากขอบเขตที่ละเอียดอ่อนแล้ว ขอบเขตบางส่วนยังได้รับการจัดประเภทเป็น จำกัด และอยู่ภายใต้กฎเพิ่มเติมที่ช่วยปกป้องข้อมูลผู้ใช้ หากคุณต้องการ เผยแพร่เว็บแอปหรือส่วนเสริมที่ใช้อย่างน้อย 1 รายการ ขอบเขตที่จำกัด แอปต้องเป็นไปตามข้อจำกัดที่ระบุไว้ทั้งหมด ก่อนที่จะเผยแพร่ได้

ตรวจสอบรายการขอบเขตที่จำกัดทั้งหมด ก่อนจะเผยแพร่ หากแอปใช้ผลิตภัณฑ์เหล่านี้ คุณต้องปฏิบัติตามข้อกําหนด พร้อมด้วย ข้อกำหนดเพิ่มเติมสำหรับขอบเขต API เฉพาะ ก่อนเผยแพร่