เมธอดเรียกใช้ Data Portability API

Data Portability API ประกอบด้วยวิธีการต่อไปนี้

  • portabilityArchive.initiate
  • archiveJobs.getPortabilityArchiveState
  • resetAuthorization
  • archiveJobs.retryPortabilityArchive

portabilityArchive.initiate

ซึ่งคุณจะเรียกใช้เมธอด portabilityArchive.initiate เพื่อเริ่มงานการส่งออกข้อมูลใหม่

เมื่อเริ่มงานการส่งออกเพื่อสร้างที่เก็บถาวรข้อมูล คุณต้องส่งคำขอกลุ่มทรัพยากรที่เหมาะสมและระบุโทเค็น OAuth ที่มีขอบเขตที่จำเป็นสำหรับกลุ่มทรัพยากรนั้น โทเค็น OAuth จะใช้เพื่อให้สิทธิ์คำขอและระบุว่ากำลังส่งออกข้อมูลผู้ใช้ใด

ดูรายการกลุ่มทรัพยากรทั้งหมดที่บริการหนึ่งๆ รองรับได้ที่หน้าข้อมูลอ้างอิงสคีมาของบริการนั้น

เช่น หากกำลังส่งออกข้อมูลกิจกรรมการค้นหา คุณจะเรียกใช้ InitiatePortabilityArchive(resources = ["myactivity.search"]) คำขอต้องมีโทเค็น OAuth แนบกับขอบเขต OAuth ในการค้นหา: https://www.googleapis.com/auth/dataportability.myactivity.search

และเราไม่แนะนำให้รวมกลุ่มทรัพยากรหลายกลุ่มไว้ในการเรียก InitiatePortabilityArchive ครั้งเดียว คุณจะประมวลผลได้เร็วขึ้นด้วยการส่งคำขอ InitiatePortabilityArchive แยกกันสำหรับกลุ่มทรัพยากรแต่ละกลุ่ม โปรดทราบว่าเมื่อคุณขอกลุ่มทรัพยากรหลายกลุ่ม โทเค็น OAuth ที่แนบต้องแนบขอบเขตที่เหมาะสมทั้งหมดไว้แล้ว

ตัวอย่างเช่น แทนที่จะเรียกใช้ InitiatePortabilityArchive(resources = ["myactivity.search","myactivity.youtube"]) หากต้องการสร้างที่เก็บถาวรข้อมูลสำหรับทั้งการค้นหาและกิจกรรมใน YouTube ให้ โทรแยกกันดังนี้ InitiatePortabilityArchive(resources = ["myactivity.search"]) และ InitiatePortabilityArchive(resources = ["myactivity.youtube"])

คำขอ InitiatePortabilityArchive แสดงผล job_id รหัสงานนี้จะใช้เพื่อเรียกสถานะของที่เก็บข้อมูล

archiveJobs.getPortabilityArchiveState

ระบบจะเรียกใช้เมธอด archiveJobs.getPortabilityArchiveState เพื่อเรียกstateปัจจุบันของงานส่งออกข้อมูลที่เก็บถาวร เมื่อโทรติดต่อ getPortabilityArchiveState โปรดระบุjob_idต่อไปนี้ GetPortabilityArchiveState(job_id) นอกจากนี้ คุณต้องระบุโทเค็น OAuth ที่มีขอบเขตที่ตรงกับกลุ่มทรัพยากรที่ใช้ในคำขอ initiate ด้วย

หากสถานะคือ COMPLETE ระบบจะแสดงผล URL ของ Cloud Storage ที่ลงนามแล้วเพื่อให้คุณดาวน์โหลดข้อมูลได้ URL ที่ลงนามจะหมดอายุหลังจาก 6 ชั่วโมง และข้อมูลจะใช้ได้เป็นเวลา 14 วัน

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

resetAuthorization

เมธอด resetAuthorization จะทำสิ่งต่อไปนี้

  • เพิกถอนขอบเขต OAuth ทั้งหมดที่ได้จากผู้ใช้
  • อนุญาตให้แอปพลิเคชันเรียกใช้ InitiatePortabilityArchive สำหรับกลุ่มทรัพยากรที่คุณใช้ก่อนหน้านี้
  • ยกเลิกสิทธิ์เข้าถึงที่เก็บข้อมูลก่อนหน้า

เมื่อโทรหา resetAuthorization คุณต้องระบุโทเค็น OAuth ที่แนบมาให้กับผู้ใช้ที่คุณกำลังจะรีเซ็ตการให้สิทธิ์

archiveJobs.retryPortabilityArchive

ระบบจะเรียกใช้เมธอด archiveJobs.retryPortabilityArchive เพื่อลองทำงานที่ล้มเหลวอีกครั้ง เมื่อเมธอด archiveJobs.getPortabilityArchiveState แสดงผลstateเป็น FAILED แล้ว ซึ่งอาจเกิดจากข้อผิดพลาดชั่วคราว ในแบ็กเอนด์ ในกรณีนี้ คุณจะลองส่งออกอีกครั้งได้โดยไม่ต้องขอโทเค็น OAuth ใหม่จากผู้ใช้ เมื่อเรียกใช้ retryPortabilityArchive คุณจะต้องระบุ job_id พร้อมกับโทเค็น OAuth ที่ถูกต้อง จากนั้นปลายทางจะพยายามสร้างการส่งออกสำหรับกลุ่มทรัพยากรเดียวกันกับที่ขอในคำขอ initiatePortabilityArchive แรก หากสำเร็จ ปลายทางนี้จะแสดงผล job_id ใหม่ที่คุณใช้ในการเรียก getPortabilityArchiveState ได้ คุณลองทำงานที่ล้มเหลวอีกครั้งได้ไม่เกิน 3 ครั้ง

เช่น

  1. คุณโทรหา InitiatePortabilityArchive(resources = ["myactivity.search"]) และได้รับ job_id: 0

  2. หลังจากโทรหา GetPortabilityArchiveState(0) คุณจะได้รับ JobSate: FAILED

  3. คุณสามารถโทรติดต่อ RetryPortabilityArchive(0) เพื่อรับ job_id: 1 ในราคา resources = ["myactivity.search"]

  4. จากนั้นคุณจะต่อสายที่โทรหา GetPortabilityArchiveState(1) ได้