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

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

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

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

ใน Google Cloud Console คุณต้องประกาศขอบเขตที่แอปต้องการในการกำหนดค่าหน้าจอขอความยินยอม 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 ที่มีชื่อแอปใน Workspace ของ Google, ประเภทข้อมูลที่เข้าถึง และระดับการเข้าถึง ขอบเขตคือคำขอของแอปในการทำงานกับข้อมูล 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. การรายงานและความปลอดภัย: แอปที่ให้ข้อมูลเชิงลึกแก่ผู้ใช้หรือลูกค้าเกี่ยวกับ วิธีแชร์หรือเข้าถึงไฟล์

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

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

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

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

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

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

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

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

เหตุผลบางประการที่คุณควรใช้ขอบเขต 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 API