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