กล้องติดปืน

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