คู่มือนี้จะอธิบายความแตกต่างระหว่าง Google ไดรฟ์ 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
ที่แสดงผลจะมีชุดผู้ดําเนินการ เป้าหมาย และการดําเนินการทั้งหมดเสมอ