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

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

บางครั้ง 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 ที่เฉพาะเจาะจงก่อนเผยแพร่