ย้ายข้อมูลจาก Drive Activity API v1

คู่มือนี้จะอธิบายความแตกต่างระหว่าง Google Drive Activity API v1 กับ v2 และวิธีเปลี่ยนแอปพลิเคชัน v1 ให้รองรับ API v2

การให้สิทธิ์

API เวอร์ชัน 1 ใช้ขอบเขตนี้

  • https://www.googleapis.com/auth/activity

API เวอร์ชัน 2 ต้องใช้ขอบเขตอย่างใดอย่างหนึ่งต่อไปนี้

  • https://www.googleapis.com/auth/drive.activity
  • https://www.googleapis.com/auth/drive.activity.readonly

ชื่อทรัพยากร

ใน API เวอร์ชัน 1 ตัวระบุสำหรับออบเจ็กต์ เช่น รายการและผู้ใช้ Google ไดรฟ์ จะเป็นสตริงแบบทึบ ใน v2 API โดยทั่วไปแล้วออบเจ็กต์เหล่านี้จะอ้างอิงโดยใช้ชื่อทรัพยากร โปรดดูข้อมูลเพิ่มเติมที่คู่มือการออกแบบ Cloud API

โดยทั่วไปแล้วตัวระบุเหล่านี้จะแปลงได้ เช่น ระบบจะอ้างอิงรายการในไดรฟ์ใน v2 API โดยใช้ชื่อทรัพยากร items/ITEM_ID_V1

คำขอ

รูปแบบคำขอสำหรับ v2 จะคล้ายกับของ v1 กล่าวโดยละเอียดคือ คุณยังคงขอกิจกรรมสำหรับไฟล์ในไดรฟ์หรือไฟล์ต้นทางในไดรฟ์ได้ แต่โปรดทราบว่าคุณต้องจัดรูปแบบพารามิเตอร์คำขอเหล่านั้นเป็นชื่อทรัพยากรโดยใส่ items/ ไว้ข้างหน้า

"การจัดกลุ่ม" เปลี่ยนชื่อเป็นการรวม และพารามิเตอร์คําขอ source และ userId ถูกนําออกแล้ว

นอกจากนี้ยังมีตัวเลือกตัวกรองใหม่ที่ช่วยให้คุณจำกัดประเภทข้อมูลกิจกรรมที่แสดงในการตอบกลับได้

การทำงาน

ใน API เวอร์ชัน 1 ประเภทกิจกรรมและข้อมูลที่เชื่อมโยงกับกิจกรรมนั้นอยู่แยกกัน เช่น หากช่อง primaryEventType มีค่า move แอปจะถือว่าช่อง move ระดับบนสุดมีข้อมูลพร็อพเพอร์ตี้หลักที่เพิ่มและนําออก

ใน API เวอร์ชัน 2 ฟิลด์เหล่านี้จะแยกกันไม่ได้อีกต่อไป ข้อความ ActionDetail มีการตั้งค่าฟิลด์เพียง 1 รายการ ซึ่งบ่งบอกถึงประเภทการดําเนินการและมีรายละเอียดที่เชื่อมโยงกับการดําเนินการนั้น เช่น ActionDetail ที่แสดงถึงการเคลื่อนไหวจะตั้งค่าเฉพาะช่อง move และช่องนั้นจะแสดงรายการรายการหลักที่เพิ่มและนําออก

ช่อง primaryEventType ของ API v1 สอดคล้องกับ primaryActionDetail ของ v2 โดยประมาณ

Actors

ใน v1 API กิจกรรมที่แสดงผลจะมี User หากผู้ดําเนินการคือผู้ใช้ที่รู้จัก และอาจมีช่องระดับบนสุด เช่น fromUserDeletion สําหรับกรณีพิเศษ

ใน v2 API จะมีประเภท Actor ที่หลากหลายมากขึ้น และระบบจะป้อนข้อมูล user.knownUser เมื่อผู้ดําเนินการเป็นผู้ใช้ที่รู้จัก หากแอปพลิเคชันต้องการข้อมูลโดยละเอียดเกี่ยวกับผู้ใช้ ก็สามารถค้นหาจาก People API ได้โดยส่งฟิลด์ KnownUser personName ไปยังเมธอด people.get

เป้าหมาย

ใน API เวอร์ชัน 1 เป้าหมายจะเป็นรายการในไดรฟ์เสมอ ใน API เวอร์ชัน 2 เป้าหมายอาจเป็นออบเจ็กต์ประเภทอื่นๆ ในไดรฟ์ เช่น การเปลี่ยนแปลงไดรฟ์มีประเภทเป้าหมายเป็น Drive ระบบจะยังคงแสดงโฟลเดอร์รูทของไดรฟ์ที่แชร์ (เป็น DriveItem ในช่อง root) แต่ไม่ใช่เป้าหมายโดยตรงของกิจกรรม แนวคิดที่คล้ายกันนี้ใช้กับแหล่งข้อมูล FileComment ซึ่งมีฟิลด์ parent ที่อ้างอิงถึงรายการในไดรฟ์ที่มีชุดข้อความความคิดเห็นเป้าหมาย

กิจกรรมแบบรวม

ใน API v1 รูปแบบการตอบกลับจะเปลี่ยนไปเมื่อตั้งค่ากลยุทธ์การรวม ("การจัดกลุ่ม") กล่าวโดยละเอียดคือ เมื่อเปิดการรวม กิจกรรมแต่ละรายการจะมี singleEvents องค์ประกอบและ combinedEvent ที่สรุปกิจกรรมทั่วไปในเหตุการณ์องค์ประกอบเหล่านั้น เมื่อปิดการรวมแล้ว ช่อง combinedEvent จะมีเหตุการณ์เดิมที่ไม่มีการรวมสำหรับแต่ละกิจกรรม เหตุการณ์เหล่านี้อาจแสดงการดําเนินการมากกว่า 1 รายการ เช่น สร้างพร้อมกับแชร์

ใน API เวอร์ชัน 2 รูปแบบของคำตอบจะไม่เปลี่ยนแปลงตามกลยุทธ์การรวม เนื่องจาก DriveActivity ที่แสดงผลจะมีชุดผู้ดําเนินการ เป้าหมาย และการดําเนินการทั้งหมดเสมอ