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

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

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

API v1 ใช้ขอบเขตนี้:

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

API v2 ต้องใช้ขอบเขตอย่างใดอย่างหนึ่งต่อไปนี้

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

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

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

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

คำขอ

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

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

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

การดำเนินการ

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

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

ช่อง primaryEventType API v1 สอดคล้องกับ v2 primaryActionDetail คร่าวๆ

Actors

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

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

เป้าหมาย

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

กิจกรรมรวม

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

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