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

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