Google Drive API เวอร์ชันล่าสุดคือ v3 ประสิทธิภาพใน v3 ดีขึ้นเนื่องจาก การค้นหาจะแสดงเพียงส่วนย่อยของช่อง ใช้เวอร์ชันปัจจุบัน ยกเว้นกรณีที่จำเป็น คอลเล็กชัน v2 ถ้าคุณกำลังใช้ v2 โปรดพิจารณา การย้ายข้อมูลไปยัง v3 หากต้องการย้ายข้อมูล โปรดดูหัวข้อย้ายข้อมูลไปยัง Drive API v3 ดูรายการความแตกต่างของเวอร์ชันทั้งหมดได้ที่ การเปรียบเทียบ Drive API v2 และ v3 ข้อมูลอ้างอิง
หากต้องการใช้ v2 ต่อไป โปรดดูการแก้ไขคู่มือสำหรับ Drive API v2 เพื่อดูวิธีดำเนินการใน v3 ต้องมีการแก้ไขคู่มือสำหรับนักพัฒนาซอฟต์แวร์เวอร์ชัน 2
หากต้องการดูข้อมูลเพิ่มเติมเกี่ยวกับการปรับปรุง Drive API v3 โปรดดู วิดีโอต่อไปนี้จากวิศวกรของ Google ซึ่งพูดถึงการออกแบบ API ใหม่
การปรับปรุง V3
v3 ได้นำเสนอสิ่งต่อไปนี้ เพื่อเพิ่มประสิทธิภาพและลดความซับซ้อนของลักษณะการทำงานของ API การปรับปรุงจาก API เวอร์ชันก่อนหน้า:
- การค้นหาไฟล์และไดรฟ์ที่แชร์จะไม่แสดงทรัพยากรทั้งหมดโดยค่าเริ่มต้น
ระบบจะแสดงเฉพาะส่วนย่อยของฟิลด์ที่ใช้กันโดยทั่วไปเท่านั้น สำหรับรายละเอียดเพิ่มเติมเกี่ยวกับ
fields
โปรดดูวิธีfiles.list
และวิธีdrives.list
- ตอนนี้เกือบทุกเมธอดที่แสดงการตอบกลับต้องใช้
fields
พารามิเตอร์ สำหรับรายการของเมธอดทั้งหมดที่ต้องใช้fields
โปรดดูที่ เอกสารอ้างอิง API ไดรฟ์ - ระบบได้นำทรัพยากรที่มีความสามารถซ้ำกันออกแล้ว ตัวอย่างเช่น
- เมธอด
files.list
มีฟังก์ชันการทํางานเดียวกับChildren
และParents
คอลเล็กชัน ระบบจึงนำคอลเล็กชันเหล่านี้ออกจากเวอร์ชัน 3 - นำเมธอด
Realtime.*
ออกแล้ว
- เมธอด
- ระบบจะไม่แสดงผลข้อมูลแอปโดยค่าเริ่มต้นในการค้นหา ในเวอร์ชัน 2 คุณสามารถตั้งค่า
drive.appdata
ขอบเขต และแสดงข้อมูลแอปพลิเคชันจากfiles.list
และchanges.list
แต่จะทำให้ประสิทธิภาพช้าลง ในเวอร์ชัน 3 คุณกำหนดขอบเขตdrive.appdata
และตั้งค่าพารามิเตอร์การค้นหาspaces=appDataFolder
เพื่อส่งคำขอ ข้อมูลแอปพลิเคชัน - การดำเนินการอัปเดตทั้งหมดใช้ Patch แทน PUT
- หากต้องการส่งออก Google เอกสาร ให้ใช้เมธอด
files.export
- ลักษณะการทำงานของเมธอด
changes.list
จะแตกต่างออกไป ใช้แทนการเปลี่ยนรหัส โทเค็นหน้าทึบแสง หากต้องการสำรวจการรวบรวมการเปลี่ยนแปลง ให้เรียกเมธอดchanges.getStartPageToken
สำหรับค่าเริ่มต้น สำหรับการค้นหาที่ตามมา พารามิเตอร์changes.list
จะแสดงผลค่าnewStartPageToken
- ตอนนี้เมธอดการอัปเดตจะปฏิเสธคำขอที่ระบุฟิลด์ที่เขียนไม่ได้
- ฟิลด์
exportFormats
และimportFormats
ใน v2 ทรัพยากรabout
เป็นรายการของ รูปแบบการนำเข้าและส่งออกที่อนุญาต ในเวอร์ชัน 3 จะเป็นแมปประเภท MIME ของ เป้าหมายที่เป็นไปได้ไปยังการนำเข้าหรือส่งออกที่รองรับทั้งหมด - ตอนนี้ชื่อแทน v2
appdata
และappfolder
เปลี่ยนเป็นappDataFolder
แล้วใน v3 - นำทรัพยากร
properties
ออกจากเวอร์ชัน 3 แล้ว ทรัพยากรfiles
มีช่องproperties
ที่มีคู่คีย์-ค่าจริง ฟิลด์properties
มีคำว่า พร็อพเพอร์ตี้ และฟิลด์appProperties
มีพร็อพเพอร์ตี้ส่วนตัว ดังนั้น ก็ไม่จำเป็น - ช่อง
modifiedTime
ในทรัพยากรfiles
จะอัปเดตครั้งล่าสุด ใครก็ตามที่แก้ไขไฟล์ ในเวอร์ชัน 2 ช่องmodifiedDate
เปลี่ยนแปลงได้เท่านั้น เกี่ยวกับการอัปเดต หากคุณตั้งค่าช่องsetModifiedDate
- ช่อง
viewedByMeTime
ในแหล่งข้อมูลfiles
จะไม่ทำงานโดยอัตโนมัติ อัปเดต - หากต้องการนำเข้ารูปแบบ Google เอกสาร โปรดตั้งค่าเป้าหมายที่เหมาะสม
mimeType
ในเนื้อความของทรัพยากร คุณตั้งค่า?convert=true
ในเวอร์ชัน 2 - การดำเนินการนำเข้าจะแสดงข้อผิดพลาด 400 หากระบบไม่รองรับรูปแบบนี้
- ผู้อ่านและผู้แสดงความคิดเห็นจะดูสิทธิ์ไม่ได้
- นำชื่อแทน
me
สำหรับสิทธิ์ออกแล้ว - ฟังก์ชันบางอย่างเคยมีอยู่ในทรัพยากรคำขอ แต่เป็น
สามารถใช้เป็นพารามิเตอร์คำขอแทน ดังตัวอย่างต่อไปนี้
- ในเวอร์ชัน 2 คุณสามารถใช้
children.delete
เพื่อนำไฟล์ย่อยออกจากไฟล์ โฟลเดอร์หลัก - ในเวอร์ชัน 3 คุณใช้
files.update
กับรายการย่อยที่มี?removeParents=parent_id
ใน URL
- ในเวอร์ชัน 2 คุณสามารถใช้
ความแตกต่างอื่นๆ
ช่องและชื่อพารามิเตอร์ใน v3 จะแตกต่างกัน ตัวอย่างเช่น
- พร็อพเพอร์ตี้
name
แทนที่title
ในทรัพยากรfiles
Time
เป็นคำต่อท้ายของช่องวันที่และเวลาทั้งหมดแทนที่จะเป็นDate
- การดำเนินการของรายการไม่ใช้ช่อง
items
เพื่อเก็บชุดผลลัพธ์ ประเภททรัพยากรจะมีช่องสำหรับผลการค้นหา (เช่นfiles
หรือchanges
)