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

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

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

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

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

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

กําลังดูขอบเขต

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

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

การกําหนดขอบเขตที่ชัดเจน

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

บางครั้ง 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 เหล่านั้น คุณต้องปฏิบัติตามข้อกําหนดเพิ่มเติมสําหรับขอบเขต API เฉพาะก่อนที่จะเผยแพร่