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