การให้สิทธิ์สำหรับบริการของ Google

Apps Script ต้องใช้การให้สิทธิ์ผู้ใช้ในการเข้าถึงข้อมูลส่วนตัวจากบริการ Google ในตัวหรือบริการขั้นสูงของ Google

การให้สิทธิ์การเข้าถึง

Apps Script จะกำหนดขอบเขตการให้สิทธิ์ (เช่น เข้าถึงไฟล์ Google ชีตหรือ Gmail) โดยอัตโนมัติ โดยอิงตามการสแกนโค้ด โค้ดที่มีการแสดงความคิดเห็นจะยังคงสร้างคำขอการให้สิทธิ์ได้ หากสคริปต์ต้องได้รับสิทธิ์ จะเห็นกล่องโต้ตอบการให้สิทธิ์แสดงขึ้นที่นี่เมื่อเรียกใช้

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

การยกเลิกสิทธิ์การเข้าถึง

หากต้องการเพิกถอนการเข้าถึงข้อมูลของสคริปต์ ให้ทำตามขั้นตอนต่อไปนี้

  1. ไปที่หน้าสิทธิ์ สำหรับบัญชี Google ของคุณ (หากต้องการไปยังหน้านี้ในอนาคต ให้ไปที่ Google.com แล้วคลิกรูปภาพบัญชีของคุณที่มุมขวาบนของหน้าจอ จากนั้นคลิก บัญชีของฉัน จากนั้นคลิกแอปและเว็บไซต์ที่เชื่อมต่อในส่วน "การลงชื่อเข้าใช้และความปลอดภัย" จากนั้นคลิกจัดการแอป)
  2. คลิกชื่อสคริปต์ที่คุณต้องการเพิกถอนการให้สิทธิ์ แล้วคลิกนำออกทางด้านขวา แล้วคลิกตกลงในกล่องโต้ตอบที่ปรากฏขึ้น

สิทธิ์และประเภทของสคริปต์

ข้อมูลประจำตัวของผู้ใช้ที่สคริปต์เรียกใช้ และข้อมูลที่สคริปต์เข้าถึงได้นั้นแตกต่างกันไปตามสถานการณ์ที่สคริปต์ทำงาน ดังที่แสดงในตารางด้านล่าง

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

ขอบเขตการให้สิทธิ์ด้วยตนเองสำหรับชีต เอกสาร สไลด์ และฟอร์ม

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

/**
 * @OnlyCurrentDoc
 */

คำอธิบายประกอบตรงข้าม @NotOnlyCurrentDoc จะพร้อมใช้งานหากสคริปต์ของคุณมีไลบรารีที่ประกาศ @OnlyCurrentDoc แต่ในความเป็นจริงสคริปต์หลักต้องการเข้าถึงไฟล์ปัจจุบันมากกว่าไฟล์ปัจจุบัน

วงจรการให้สิทธิ์สำหรับส่วนเสริม

โดยทั่วไปแล้ว ส่วนเสริมสำหรับ Google ชีต, เอกสาร, สไลด์ และฟอร์มจะใช้รูปแบบการให้สิทธิ์เดียวกันกับสคริปต์ที่เชื่อมโยงกับเอกสาร แต่ในบางสถานการณ์ ฟังก์ชัน onOpen(e) และ onEdit(e) จะทำงานในโหมดไม่ให้สิทธิ์ซึ่งจะทำให้เกิดความซับซ้อนเพิ่มเติม โปรดดูข้อมูลเพิ่มเติมที่คำแนะนำเกี่ยวกับวงจรการให้สิทธิ์ส่วนเสริม

ขีดจำกัดผู้ใช้แอปพลิเคชัน OAuth

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