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

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

  • portabilityArchive.initiate
  • archiveJobs.getPortabilityArchiveState
  • resetAuthorization
  • archiveJobs.retryPortabilityArchive
  • archiveJobs.cancelPortabilityArchive
  • accessType.check

portabilityArchive.initiate

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

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

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

ตัวอย่างเช่น หากคุณส่งออกข้อมูลกิจกรรมการค้นหา ให้เรียกใช้ InitiatePortabilityArchive(resources = ["myactivity.search"]) คำขอต้องมีโทเค็น OAuth ที่แนบอยู่กับขอบเขต OAuth ของ Search ดังนี้ 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 เพื่อดึงสถานะปัจจุบันของงานส่งออกที่เก็บถาวรของข้อมูล เมื่อเรียกใช้ 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 ได้แสดงสถานะ 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) ได้ต่อไป

archiveJobs.cancelPortabilityArchive

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

ตัวอย่างเช่น คุณอาจยกเลิกงานที่กําลังดําเนินการตามเวลาสําหรับ myactivity.youtube และ youtube.public_videos แล้วเริ่มงานใหม่สําหรับ myactivity.youtube เท่านั้น

accessType.check

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

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