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