เอกสารนี้มีข้อมูลการให้สิทธิ์และการตรวจสอบสิทธิ์เฉพาะสำหรับ Google Drive API ก่อนอ่านเอกสารนี้ โปรดอ่านข้อมูลการตรวจสอบสิทธิ์และการให้สิทธิ์ทั่วไปของ Google Workspace ที่หัวข้อดูข้อมูลเกี่ยวกับการตรวจสอบสิทธิ์และการให้สิทธิ์
กำหนดค่า OAuth 2.0 สำหรับการให้สิทธิ์
Google Drive API กำหนดให้คุณกำหนดขอบเขต OAuth ใน 2 ที่ ได้แก่ คอนโซล Google Cloud และแอปของคุณ เพื่อให้สิทธิ์แอป
ใน 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 ที่มีชื่อแอป Google Workspace, ประเภทข้อมูลที่เข้าถึง และ ระดับการเข้าถึง ขอบเขตคือคำขอของแอปในการทำงานกับข้อมูล Google Workspace ซึ่งรวมถึง ข้อมูลบัญชี Google ของผู้ใช้
เมื่อติดตั้งแอป ระบบจะขอให้ผู้ใช้ตรวจสอบขอบเขตที่แอปใช้ โดยทั่วไป คุณควรเลือกขอบเขตที่แคบที่สุดเท่าที่จะเป็นไปได้ และหลีกเลี่ยงการขอขอบเขตที่แอปไม่จำเป็นต้องใช้ ผู้ใช้จะให้สิทธิ์เข้าถึงขอบเขตที่จำกัดและอธิบายไว้อย่างชัดเจนได้ง่ายขึ้น
ใช้ขอบเขตที่ไม่ละเอียดอ่อนทุกครั้งที่ทำได้ เนื่องจากขอบเขตดังกล่าวจะให้สิทธิ์เข้าถึงต่อไฟล์และ จำกัดสิทธิ์เข้าถึงฟีเจอร์ที่เฉพาะเจาะจงซึ่งแอปต้องการ
ขอบเขตที่ไม่ละเอียดอ่อน
เราขอแนะนำให้ใช้ขอบเขต Drive API ต่อไปนี้สำหรับกรณีการใช้งานส่วนใหญ่
| รหัสขอบเขต | คำอธิบาย |
|---|---|
https://www.googleapis.com/auth/drive.appdata |
ดูและจัดการข้อมูลการกำหนดค่าของแอปเองใน 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 |
ขอบเขตในตารางก่อนหน้านี้ระบุความละเอียดอ่อนตามคำจำกัดความต่อไปนี้
ไม่ละเอียดอ่อน: ขอบเขตเหล่านี้ให้ขอบเขตการให้สิทธิ์ที่เล็กที่สุด และต้องมีการยืนยันแอป OAuth ระดับพื้นฐานเท่านั้น ดูข้อมูลเพิ่มเติมได้ที่ข้อกำหนด ในการยืนยัน
มีความละเอียดอ่อน: ขอบเขตเหล่านี้ให้สิทธิ์เข้าถึงข้อมูลผู้ใช้ Google ที่เฉพาะเจาะจง ซึ่งผู้ใช้ให้สิทธิ์แอปของคุณ โดยต้องมีการยืนยันแอป OAuth เพิ่มเติม ดูข้อมูลเพิ่มเติมได้ที่ข้อกำหนดสำหรับขอบเขตที่ละเอียดอ่อนและถูกจำกัด
จำกัด: ขอบเขตเหล่านี้ให้สิทธิ์เข้าถึงข้อมูลผู้ใช้ Google ในวงกว้างและต้องมีการยืนยันแอป OAuth ที่มีขอบเขตที่จำกัด ดูข้อมูลเพิ่มเติมได้ที่นโยบายข้อมูลผู้ใช้ของบริการ Google API และข้อกำหนดเพิ่มเติมสำหรับขอบเขต API เฉพาะ โปรดดูข้อกำหนดในการให้บริการของ Google ไดรฟ์ด้วย
หากคุณจัดเก็บ (หรือส่ง) ข้อมูลขอบเขตที่มีการจำกัดไว้ในเซิร์ฟเวอร์ คุณจะต้อง เข้ารับการประเมินความปลอดภัย
หากแอปของคุณต้องเข้าถึง API อื่นๆ ของ Google คุณก็เพิ่มขอบเขตเหล่านั้นได้เช่นกัน ดูข้อมูลเพิ่มเติมเกี่ยวกับขอบเขต Google API ได้ที่การใช้ OAuth 2.0 เพื่อ เข้าถึง Google API
ดูข้อมูลเพิ่มเติมเกี่ยวกับขอบเขต OAuth 2.0 ที่เฉพาะเจาะจงได้ที่ขอบเขต OAuth 2.0 สำหรับ Google APIs
คุณสมบัติสำหรับขอบเขตที่จำกัด
เฉพาะแอปพลิเคชันบางประเภทเท่านั้นที่ได้รับอนุญาตให้ใช้ขอบเขตที่จำกัดสำหรับ Google ไดรฟ์ แอปของคุณต้องอยู่ในหมวดหมู่ใดหมวดหมู่หนึ่งต่อไปนี้จึงจะมีสิทธิ์
สำรองและซิงค์ข้อมูล: แอปบนแพลตฟอร์มและเว็บแอปที่ให้บริการซิงค์ข้อมูลในเครื่อง หรือสำรองข้อมูลไฟล์ในไดรฟ์ของผู้ใช้โดยอัตโนมัติ
ประสิทธิภาพการทำงานและการศึกษา: แอปที่มีอินเทอร์เฟซหลักของผู้ใช้ซึ่ง อาจเกี่ยวข้องกับการโต้ตอบกับไฟล์ในไดรฟ์ ข้อมูลเมตา หรือ สิทธิ์ แอปเหล่านี้รวมถึงแอปการจัดการงาน การจดบันทึก การสื่อสารในเวิร์กกรุ๊ป และการทำงานร่วมกันในชั้นเรียน
การรายงานและความปลอดภัย: แอปที่ให้ข้อมูลเชิงลึกแก่ผู้ใช้หรือลูกค้าเกี่ยวกับ วิธีแชร์หรือเข้าถึงไฟล์
หากต้องการใช้ขอบเขตที่จำกัดต่อไป คุณควรเตรียมแอปสำหรับการยืนยันขอบเขตที่จำกัด
ย้ายข้อมูลแอปที่มีอยู่จากขอบเขตที่จำกัด
หากแอปไดรฟ์ใช้ขอบเขตที่จำกัด เราขอแนะนำให้ย้ายข้อมูล
ไปยังขอบเขต 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
หัวข้อที่เกี่ยวข้อง
- ดูภาพรวมของการตรวจสอบสิทธิ์และการให้สิทธิ์ใน Google Workspace ได้ที่ดูข้อมูลเกี่ยวกับการตรวจสอบสิทธิ์และการให้สิทธิ์
- ดูภาพรวมของการตรวจสอบสิทธิ์และการให้สิทธิ์ใน Google Cloud ได้ที่ ภาพรวมการตรวจสอบสิทธิ์
- ดูข้อมูลเพิ่มเติมเกี่ยวกับบัญชีบริการได้ที่บัญชีบริการ
- หากต้องการความช่วยเหลือในการแก้ปัญหา โปรดดูแก้ไขข้อผิดพลาด