กล้องติดปืน

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

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

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

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

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

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

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

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

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

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

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

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

    {
      ...
      "oauthScopes": [
        "https://www.googleapis.com/auth/gmail.addons.current.message.metadata",
        "https://www.googleapis.com/auth/userinfo.email"
      ],
      ...
    }
    
  5. บันทึกการเปลี่ยนแปลงไฟล์ Manifest

การยืนยัน OAuth

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

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

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

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

ขอบเขตของปฏิทิน

ด้านล่างคือขอบเขตที่ใช้บ่อยสำหรับส่วนเสริมของ Google Workspace ซึ่งขยายจาก Google ปฏิทิน

ขอบเขต
เข้าถึงข้อมูลเมตาของเหตุการณ์ https://www.googleapis.com/auth/calendar.addons.execute

ต้องระบุหากส่วนเสริมเข้าถึงข้อมูลเมตาของกิจกรรมในปฏิทิน อนุญาต ส่วนเสริมเพื่อเข้าถึงข้อมูลเมตาของเหตุการณ์

อ่านข้อมูลเหตุการณ์ที่ผู้ใช้สร้างขึ้น https://www.googleapis.com/auth/calendar.addons.current.event.read

ต้องระบุหากส่วนเสริมต้องอ่านข้อมูลเหตุการณ์ที่ผู้ใช้สร้างขึ้น อนุญาตให้ส่วนเสริมเข้าถึงข้อมูลเหตุการณ์ที่ผู้ใช้สร้างขึ้น ข้อมูลนี้เป็น ใช้ได้เฉพาะเมื่อ addOns.calendar.eventAccess ช่องไฟล์ Manifest ตั้งค่าเป็น READ หรือ READ_WRITE

เขียนข้อมูลเหตุการณ์ที่ผู้ใช้สร้างขึ้น https://www.googleapis.com/auth/calendar.addons.current.event.write

ต้องระบุหากส่วนเสริมต้องเขียนข้อมูลเหตุการณ์ที่ผู้ใช้สร้างขึ้น อนุญาตให้ส่วนเสริมแก้ไขข้อมูลเหตุการณ์ที่ผู้ใช้สร้างขึ้น ข้อมูลนี้เป็น ใช้ได้เฉพาะเมื่อ addOns.calendar.eventAccess ช่องไฟล์ Manifest ตั้งค่าเป็น WRITE หรือ READ_WRITE

ขอบเขตของไดรฟ์

ด้านล่างคือขอบเขตที่ใช้บ่อยสำหรับส่วนเสริมของ Google Workspace ซึ่งขยายไปยัง Google ไดรฟ์

ขอบเขต
อ่านข้อมูลเมตาของรายการที่เลือก https://www.googleapis.com/auth/drive.addons.metadata.readonly

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

สิทธิ์เข้าถึงต่อไฟล์ https://www.googleapis.com/auth/drive.file

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

โปรดดู ตัวอย่างขอสิทธิ์เข้าถึงไฟล์สําหรับไฟล์ที่เลือก

ขอบเขตส่วนเสริมของ Gmail

มีขอบเขต 2-3 รายการที่สร้างขึ้นมาสำหรับ ส่วนเสริมของ Google Workspace เพื่อช่วยปกป้องผู้ใช้ Gmail คุณต้อง เพิ่มขอบเขตเหล่านี้อย่างชัดเจน ลงในไฟล์ Manifest ของส่วนเสริม พร้อมกับไฟล์อื่นๆ ต้องมีโค้ดส่วนเสริม

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

และอย่าลืมแทนที่ขอบเขต https://mail.google.com ที่กว้างมากใน ส่วนเสริมซึ่งมีชุดขอบเขตที่แคบลง ซึ่งอนุญาตการโต้ตอบกับส่วนเสริม และไม่นับถอยหลังอีกต่อไป

ขอบเขต
สร้างฉบับร่างใหม่ https://www.googleapis.com/auth/gmail.addons.current.action.compose

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

อ่านข้อมูลเมตาของข้อความแบบเปิด https://www.googleapis.com/auth/gmail.addons.current.message.metadata

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

ต้องระบุหากส่วนเสริมใช้ข้อมูลเมตาในการดำเนินการเขียน ทริกเกอร์ สำหรับ การเขียน จำเป็นต้องมีขอบเขตนี้หากทริกเกอร์การเขียน ต้องมีสิทธิ์เข้าถึงข้อมูลเมตา ในทางปฏิบัติ ขอบเขตนี้ช่วยให้การเขียน เรียกเข้าถึงรายการผู้รับ (ถึง:, สำเนา: และสำเนาลับ:) ของการตอบกลับ อีเมลฉบับร่าง

อ่านเนื้อหาข้อความที่เปิดอยู่ https://www.googleapis.com/auth/gmail.addons.current.message.action

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

อ่านเนื้อหาของชุดข้อความที่เปิดอยู่ https://www.googleapis.com/auth/gmail.addons.current.message.readonly

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

อ่านเนื้อหาและข้อมูลเมตาของข้อความ https://www.googleapis.com/auth/gmail.readonly

อ่านข้อมูลเมตาของอีเมลและเนื้อหา รวมถึงข้อความที่เปิดอยู่ ต้องระบุหากคุณต้องการอ่านข้อมูลเกี่ยวกับข้อความอื่นๆ เช่น เมื่อดำเนินการค้นหาหรืออ่านชุดข้อความของอีเมลทั้งหมด

โทเค็นเพื่อการเข้าถึง

เพื่อปกป้องข้อมูลผู้ใช้ ขอบเขต Gmail ที่ใช้ใน ให้สิทธิ์เฉพาะส่วนเสริมของ Google Workspace เข้าถึงข้อมูลผู้ใช้ได้ชั่วคราว ในการเปิดใช้การเข้าถึงชั่วคราว คุณต้องเรียกเมธอด ฟังก์ชัน GmailApp.setCurrentMessageAccessToken(accessToken) โดยใช้โทเค็นเพื่อการเข้าถึงเป็นอาร์กิวเมนต์ คุณต้องได้รับโทเค็นเพื่อการเข้าถึงจาก action event object

ข้อมูลต่อไปนี้แสดงตัวอย่างการตั้งค่าโทเค็นเพื่อการเข้าถึงเพื่ออนุญาตการเข้าถึง ข้อมูลเมตาของข้อความ ขอบเขตเดียวที่จำเป็นสำหรับตัวอย่างนี้คือ https://www.googleapis.com/auth/gmail.addons.current.message.metadata

function readSender(e) {
  var accessToken = e.gmail.accessToken;
  var messageId = e.gmail.messageId;

  // The following function enables short-lived access to the current
  // message in Gmail. Access to other Gmail messages or data isn't
  // permitted.
  GmailApp.setCurrentMessageAccessToken(accessToken);
  var mailMessage = GmailApp.getMessageById(messageId);
  return mailMessage.getFrom();
}

ขอบเขตของเครื่องมือแก้ไข

ด้านล่างคือขอบเขตที่ใช้บ่อยสำหรับส่วนเสริมของ Google Workspace ซึ่งขยายขีดความสามารถในเอกสาร ชีต และสไลด์

ขอบเขต
การเข้าถึงไฟล์เอกสารปัจจุบัน https://www.googleapis.com/auth/documents.currentonly

ต้องระบุหากส่วนเสริมเข้าถึง Apps Script Docs API ให้สิทธิ์เข้าถึงเนื้อหาเอกสารที่เปิดอยู่ชั่วคราว

การเข้าถึงไฟล์ชีตปัจจุบัน https://www.googleapis.com/auth/spreadsheets.currentonly

ต้องระบุหากส่วนเสริมเข้าถึง Apps Script Sheets API ให้สิทธิ์เข้าถึงเนื้อหาของสเปรดชีตที่เปิดอยู่ชั่วคราว

การเข้าถึงไฟล์สไลด์ปัจจุบัน https://www.googleapis.com/auth/presentations.currentonly

ต้องระบุหากส่วนเสริมเข้าถึง Apps Script Slides API ให้สิทธิ์เข้าถึงเนื้อหาของงานนำเสนอแบบเปิดชั่วคราว

สิทธิ์เข้าถึงต่อไฟล์ https://www.googleapis.com/auth/drive.file

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

ขอบเขตอื่นๆ

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

ต่อไปนี้คือรายการขอบเขต Apps Script ที่มักใช้ใน สิ่งที่ใช้ร่วมกับส่วนเสริมของ Google Workspace

ขอบเขต
อ่านอีเมลของผู้ใช้ https://www.googleapis.com/auth/userinfo.email

อนุญาตให้โปรเจ็กต์อ่านอีเมลของผู้ใช้ปัจจุบัน

อนุญาตให้เรียกใช้บริการภายนอก https://www.googleapis.com/auth/script.external_request

อนุญาตให้โปรเจ็กต์สร้าง UrlFetch คำขอ และจำเป็นต้องระบุหากโปรเจ็กต์ใช้ OAuth2 สำหรับ Apps Script

อ่านภาษาและเขตเวลาของผู้ใช้ https://www.googleapis.com/auth/script.locale

อนุญาตให้โปรเจ็กต์เรียนรู้ภาษาและเขตเวลาของผู้ใช้ปัจจุบัน โปรดดู การเข้าถึงภาษาและเขตเวลาของผู้ใช้เพื่อดูรายละเอียด

สร้างทริกเกอร์ https://www.googleapis.com/auth/script.scriptapp

อนุญาตให้โปรเจ็กต์สร้าง ทริกเกอร์

แสดงตัวอย่างลิงก์ของบุคคลที่สาม https://www.googleapis.com/auth/workspace.linkpreview

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

สร้างทรัพยากรของบุคคลที่สาม https://www.googleapis.com/auth/workspace.linkcreate

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