คําแนะนํานี้จะอธิบายความแตกต่างระหว่าง Google Drive Activity API v1 กับ v2 และวิธีเปลี่ยนแอปพลิเคชัน v1 ให้รองรับ v2 API
การให้สิทธิ์
v1 API ใช้ขอบเขตนี้
https://www.googleapis.com/auth/activity
API v2 จําเป็นต้องมีขอบเขตอย่างใดอย่างหนึ่งต่อไปนี้
https://www.googleapis.com/auth/drive.activity
https://www.googleapis.com/auth/drive.activity.readonly
ชื่อทรัพยากร
ใน API เวอร์ชัน 1 ตัวระบุสําหรับออบเจ็กต์ต่างๆ เช่น รายการใน Google ไดรฟ์และผู้ใช้จะเป็นสตริงที่ทึบแสง ใน API เวอร์ชัน 2 โดยทั่วไปออบเจ็กต์เหล่านี้จะอ้างอิงโดยใช้ชื่อทรัพยากร สําหรับข้อมูลเพิ่มเติม โปรดดูคู่มือการออกแบบ Cloud API
โดยทั่วไปแล้วตัวระบุเหล่านี้จะแปลงได้ เช่น ระบบจะอ้างอิงรายการในไดรฟ์ใน API เวอร์ชัน 2 โดยใช้ชื่อทรัพยากร
items/ITEM_ID_V1
คำขอ
รูปแบบคําขอสําหรับเวอร์ชัน 2 คล้ายกับเวอร์ชัน v1 กล่าวคือ คุณยังขอกิจกรรมสําหรับไฟล์ในไดรฟ์หรือระดับบนไดรฟ์ได้ แต่โปรดทราบว่าคุณต้องจัดรูปแบบพารามิเตอร์คําขอเหล่านั้นเป็นชื่อทรัพยากรโดยขึ้นต้นด้วย items/
ตอนนี้ "การจัดกลุ่ม" เปลี่ยนชื่อเป็นการรวม และได้นําพารามิเตอร์คําขอ source
และ userId
ออกแล้ว
นอกจากนี้ ยังมีตัวเลือกตัวกรองใหม่ที่ช่วยจํากัดประเภทข้อมูลกิจกรรมที่ส่งในการตอบกลับ
การดำเนินการ
ใน API เวอร์ชัน 1 ประเภทกิจกรรม และข้อมูลที่เชื่อมโยงกับกิจกรรมนั้นจะอยู่ในช่องแยกต่างหาก เช่น หากช่อง primaryEventType
มีค่า move
แอปต่างๆ จะถือว่าช่อง move
ระดับบนสุดสร้างขึ้นโดยมีการเพิ่มหรือนําผู้ปกครองออก
ใน v2 API ช่องเหล่านี้จะไม่โดดเด่นอีกต่อไป ข้อความ ActionDetail
มีชุดช่องที่ตรงกัน 1 ชุด โดยระบุประเภทการดําเนินการและมีรายละเอียดที่เชื่อมโยงกับการดําเนินการนั้น เช่น ActionDetail
ที่แสดงการย้ายจะเป็นการตั้งค่าช่อง move
และช่องดังกล่าวจะแสดงผู้ปกครองที่เพิ่มและนําออก
ช่อง primaryEventType
v1 API จะสอดคล้องกับ v2
primaryActionDetail
นักแสดง
ใน API เวอร์ชัน 1 กิจกรรมที่แสดงผลจะมี User
หากผู้ดําเนินการเป็นผู้ใช้ที่เป็นที่รู้จัก และเลือกที่จะมีช่องระดับบนสุด เช่น fromUserDeletion
สําหรับกรณีพิเศษ
ใน API เวอร์ชัน 2 จะมีชุดประเภท Actor
ที่สมบูรณ์ยิ่งขึ้น และระบบจะป้อนข้อมูล user.knownUser
เมื่อผู้ดําเนินการเป็นผู้ใช้ที่รู้จัก หากแอปพลิเคชันต้องการข้อมูลโดยละเอียดเกี่ยวกับผู้ใช้ คุณสามารถค้นหาแอปพลิเคชันจาก People API ได้โดยส่งช่อง KnownUser
personName
ไปยังเมธอด people.get
เป้าหมาย
ใน API v1 เป้าหมายจะเป็นรายการในไดรฟ์เสมอ ใน API เวอร์ชัน 2
เป้าหมายอาจเป็นออบเจ็กต์ประเภทอื่นๆ ในไดรฟ์ เช่น การเปลี่ยนแปลงไดรฟ์จะมีประเภทเป้าหมายเป็น Drive
ระบบจะยังคงแสดงผลโฟลเดอร์รูทของไดรฟ์ที่แชร์ (เป็น DriveItem
ในช่อง root
) แต่ไม่ใช่เป้าหมายทันทีของกิจกรรม แนวคิดที่คล้ายกันนี้ใช้กับทรัพยากร FileComment
ซึ่งช่อง parent
หมายถึงรายการไดรฟ์ที่มีชุดข้อความความคิดเห็นเป้าหมาย
กิจกรรมแบบรวม
ใน API เวอร์ชัน 1 รูปแบบของการตอบสนองมีการเปลี่ยนแปลงเมื่อมีการรวมการรวม ("การจัดกลุ่ม") กล่าวอย่างเจาะจงคือ เมื่อเปิดการรวม แต่ละกิจกรรมจะมีองค์ประกอบ singleEvents
และ combinedEvent
ซึ่งสรุปกิจกรรมทั่วไปในกลุ่มองค์ประกอบเหล่านั้น เมื่อปิดการรวม ช่อง combinedEvent
จะมีเหตุการณ์เดิมที่ไม่ได้รวมสําหรับแต่ละกิจกรรม เหตุการณ์ใดๆ เหล่านี้อาจเป็นการดําเนินการมากกว่า 1 รายการ เช่น การสร้างและการแชร์
ใน API เวอร์ชัน 2 จะไม่มีการเปลี่ยนแปลงรูปแบบของการตอบกลับตามกลยุทธ์การรวม เนื่องจาก DriveActivity
ที่แสดงผลจะมีชุดของผู้ดําเนินการ เป้าหมาย และการกระทําแบบเต็มเสมอ