คู่มือเปรียบเทียบ API ไดรฟ์ v2 และ v3

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

ความแตกต่างอื่นๆ

ช่องและชื่อพารามิเตอร์ใน v3 จะแตกต่างกัน ตัวอย่างเช่น

  • พร็อพเพอร์ตี้ name แทนที่ title ในทรัพยากร files
  • Time เป็นคำต่อท้ายของช่องวันที่และเวลาทั้งหมดแทนที่จะเป็น Date
  • การดำเนินการของรายการไม่ใช้ช่อง items เพื่อเก็บชุดผลลัพธ์ ประเภททรัพยากรจะมีช่องสำหรับผลการค้นหา (เช่น files หรือ changes)