เลือกขอบเขต Google Drive API

เอกสารนี้มีข้อมูลการให้สิทธิ์และการตรวจสอบสิทธิ์เฉพาะสำหรับ Google Drive API ก่อนอ่านเอกสารนี้ โปรดอ่านข้อมูลการตรวจสอบสิทธิ์และการให้สิทธิ์ทั่วไปของ Google Workspace ที่ดูข้อมูลเกี่ยวกับการตรวจสอบสิทธิ์และการให้สิทธิ์

กำหนดค่า OAuth 2.0 สำหรับการให้สิทธิ์

Google Drive API กำหนดให้คุณกำหนดขอบเขต OAuth ใน 2 ที่ ได้แก่ คอนโซล Google Cloud และแอปของคุณ เพื่อให้สิทธิ์แอป

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

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

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

คุณสามารถประกาศขอบเขต OAuth อย่างน้อย 1 รายการพร้อมกันภายในโค้ดของแอปเป็นอาร์เรย์

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีกำหนดขอบเขต OAuth หลายรายการ

Java

List<String> SCOPES = Arrays.asList(
  DriveScopes.DRIVE_FILE,
  DriveScopes.DRIVE_METADATA_READONLY
);

Python

SCOPES = [
  "https://www.googleapis.com/auth/drive.file",
  "https://www.googleapis.com/auth/drive.metadata.readonly",
]

Node.js

const SCOPES = [
  'https://www.googleapis.com/auth/drive.file',
  'https://www.googleapis.com/auth/drive.metadata.readonly'
];

หากต้องการดูวิธีประกาศและใช้ขอบเขตในตัวอย่างโค้ดแบบเต็ม โปรดดูคู่มือเริ่มต้น

ขอบเขตของ Drive API

หากต้องการกำหนดระดับการเข้าถึงที่ให้แก่แอป คุณต้องระบุและ ประกาศขอบเขตการให้สิทธิ์ ขอบเขตการให้สิทธิ์คือสตริง URI ของ OAuth 2.0 ซึ่งมีชื่อแอป Google Workspace, ประเภทข้อมูลที่เข้าถึง และระดับการเข้าถึง ขอบเขตคือคำขอของแอปในการทำงานกับข้อมูล Google Workspace ซึ่งรวมถึงข้อมูลในบัญชี Google ของผู้ใช้

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

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

ขอบเขตที่ไม่ละเอียดอ่อน

เราขอแนะนำให้ใช้ขอบเขต Drive API ต่อไปนี้สำหรับกรณีการใช้งานส่วนใหญ่

รหัสขอบเขต คำอธิบาย
https://www.googleapis.com/auth/drive.appdata
https://www.googleapis.com/auth/drive.appfolder
ดูและจัดการข้อมูลการกำหนดค่าของแอปเองใน Google ไดรฟ์
https://www.googleapis.com/auth/drive.install อนุญาตให้แอปปรากฏเป็นตัวเลือกในเมนู "เปิดด้วย" หรือ "ใหม่"
https://www.googleapis.com/auth/drive.file สร้างไฟล์ใหม่ในไดรฟ์หรือแก้ไขไฟล์ที่มีอยู่ซึ่งคุณเปิดด้วยแอปหรือที่ผู้ใช้แชร์กับแอปขณะใช้ Google Picker API หรือเครื่องมือเลือกไฟล์ของแอป

ขอบเขตที่ละเอียดอ่อน

รหัสขอบเขต คำอธิบาย
https://www.googleapis.com/auth/drive.apps.readonly ดูแอปที่ได้รับอนุญาตให้เข้าถึงไดรฟ์

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

รหัสขอบเขต คำอธิบาย
https://www.googleapis.com/auth/drive ดูและจัดการไฟล์ทั้งหมดในไดรฟ์
https://www.googleapis.com/auth/drive.readonly ดูและดาวน์โหลดไฟล์ในไดรฟ์ทั้งหมด
https://www.googleapis.com/auth/drive.activity ดูและเพิ่มข้อมูลในบันทึกกิจกรรมของไฟล์ในไดรฟ์
https://www.googleapis.com/auth/drive.activity.readonly ดูบันทึกกิจกรรมของไฟล์ในไดรฟ์
https://www.googleapis.com/auth/drive.meet.readonly ดูไฟล์ในไดรฟ์ที่ Google Meet สร้างหรือแก้ไข
https://www.googleapis.com/auth/drive.metadata ดูและจัดการข้อมูลเมตาของไฟล์ในไดรฟ์
https://www.googleapis.com/auth/drive.metadata.readonly ดูข้อมูลเมตาของไฟล์ในไดรฟ์
https://www.googleapis.com/auth/drive.scripts ปรับเปลี่ยนลักษณะการทำงานของสคริปต์ Google Apps Script

ขอบเขตในตารางก่อนหน้านี้ระบุความละเอียดอ่อนตามคำจำกัดความต่อไปนี้

หากแอปของคุณต้องเข้าถึง Google API อื่นๆ คุณก็เพิ่มขอบเขตเหล่านั้นได้ด้วย ดูข้อมูลเพิ่มเติมเกี่ยวกับขอบเขต Google API ได้ที่การใช้ OAuth 2.0 เพื่อเข้าถึง Google API

ดูข้อมูลเพิ่มเติมเกี่ยวกับขอบเขต OAuth 2.0 ที่เฉพาะเจาะจงได้ที่ขอบเขต OAuth 2.0 สำหรับ Google APIs

คุณสมบัติสำหรับขอบเขตที่จำกัด

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

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

  2. ประสิทธิภาพการทำงานและการศึกษา: แอปที่มีอินเทอร์เฟซหลักของผู้ใช้ซึ่ง อาจเกี่ยวข้องกับการโต้ตอบกับไฟล์ในไดรฟ์ ข้อมูลเมตา หรือ สิทธิ์ แอปเหล่านี้รวมถึงแอปการจัดการงาน การจดบันทึก การสื่อสารในเวิร์กกรุ๊ป และการทำงานร่วมกันในชั้นเรียน

  3. การรายงานและความปลอดภัย: แอปที่ให้ข้อมูลเชิงลึกแก่ผู้ใช้หรือลูกค้าเกี่ยวกับ วิธีแชร์หรือเข้าถึงไฟล์

หากต้องการใช้ขอบเขตที่จำกัดต่อไป คุณควรเตรียมแอปสำหรับการยืนยันขอบเขตที่จำกัด

ย้ายข้อมูลแอปที่มีอยู่จากขอบเขตที่จำกัด

หากแอปไดรฟ์ใช้ขอบเขตที่จำกัด เราขอแนะนำให้ย้ายข้อมูล ไปยังขอบเขต Google Drive API ที่ไม่ละเอียดอ่อน การใช้ขอบเขตที่ไม่ละเอียดอ่อน เช่น drive.file จะให้สิทธิ์เข้าถึงแบบต่อไฟล์และแบบจำกัดไปยังฟีเจอร์ที่เฉพาะเจาะจงซึ่งแอปต้องการ

แอปจำนวนมากสามารถเปลี่ยนไปใช้การเข้าถึงต่อไฟล์ได้โดยไม่ต้องทำการเปลี่ยนแปลงใดๆ

หากคุณใช้เครื่องมือเลือกไฟล์ของคุณเอง เราขอแนะนำให้เปลี่ยนไปใช้ Google Picker API ซึ่งรองรับ ขอบเขตที่แตกต่างกันอย่างเต็มรูปแบบ

สิทธิประโยชน์ของขอบเขตไฟล์ในไดรฟ์

การใช้drive.fileขอบเขต OAuth ร่วมกับ Google Picker API จะช่วยเพิ่มประสิทธิภาพทั้งประสบการณ์ของผู้ใช้และความปลอดภัยของแอป

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

เหตุผลบางประการที่คุณควรใช้ขอบเขต drive.file มีดังนี้

  • ความสามารถในการใช้งาน: ขอบเขต drive.file ใช้ได้กับทรัพยากร REST ของ Drive API ทั้งหมด ซึ่งหมายความว่าคุณใช้ขอบเขตนี้ได้ในลักษณะเดียวกับ การใช้ขอบเขต OAuth ที่กว้างกว่า

  • ฟีเจอร์: Google Picker API มีอินเทอร์เฟซที่คล้ายกับ UI ของไดรฟ์ ซึ่งรวมถึงมุมมองต่างๆ ที่แสดงตัวอย่างและ ภาพขนาดย่อของไฟล์ในไดรฟ์ รวมถึงหน้าต่างแบบโมดัลในบรรทัดเพื่อให้ ผู้ใช้ไม่ต้องออกจากแอปหลัก

  • ความสะดวก: แอปสามารถใช้ตัวกรองสำหรับไฟล์บางประเภทในไดรฟ์ (เช่น Google เอกสาร, ชีต และรูปภาพ) เมื่อใช้ตัวกรองในไฟล์ Google Picker

  • การยืนยันที่ตรงไปตรงมา: เนื่องจาก drive.file ไม่ใช่ข้อมูลที่ละเอียดอ่อน จึงช่วยให้กระบวนการยืนยันตัวตนมีประสิทธิภาพมากขึ้น

จัดเก็บโทเค็นการรีเฟรชอย่างปลอดภัย

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

เนื่องจากโทเค็นเพื่อการเข้าถึงมีอายุการใช้งานสั้น คุณจึงต้องใช้โทเค็นการรีเฟรชเพื่อเข้าถึง Drive API ในระยะยาว โทเค็นการรีเฟรชช่วยให้แอปขอโทเค็นเพื่อการเข้าถึงใหม่ได้

บันทึกโทเค็นการรีเฟรชไว้ในที่เก็บข้อมูลที่ปลอดภัยและระยะยาว แล้วใช้โทเค็นต่อไปตราบใดที่ยังใช้งานได้

ดูข้อมูลเพิ่มเติมได้ที่การใช้ OAuth 2.0 เพื่อเข้าถึง Google APIs