Memanggil metode API Portabilitas Data

Data Portability API terdiri dari metode berikut:

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

portabilityArchive.initiate

Anda memanggil metode portabilityArchive.initiate untuk memulai tugas ekspor data baru.

Saat memulai tugas ekspor untuk membuat arsip data, Anda harus meminta grup resource yang sesuai dan memberikan token OAuth dengan cakupan yang diperlukan untuk grup resource tersebut. Token OAuth digunakan untuk mengizinkan permintaan dan menentukan data pengguna mana yang diekspor.

Untuk mengetahui daftar semua grup resource yang didukung oleh layanan tertentu, lihat halaman referensi skema untuk layanan tersebut.

Misalnya, jika Anda mengekspor data aktivitas penelusuran, panggil InitiatePortabilityArchive(resources = ["myactivity.search"]). Permintaan harus memiliki token OAuth yang dilampirkan dengan cakupan OAuth penelusuran: https://www.googleapis.com/auth/dataportability.myactivity.search.

Meskipun Anda dapat menyertakan beberapa grup resource dalam satu panggilan InitiatePortabilityArchive, hal ini tidak direkomendasikan. Anda dapat mencapai pemrosesan yang lebih cepat dengan membuat permintaan InitiatePortabilityArchive terpisah untuk setiap grup resource. Perhatikan bahwa saat Anda meminta beberapa grup resource, token OAuth yang dilampirkan harus melampirkan semua cakupan yang sesuai.

Misalnya, daripada memanggil InitiatePortabilityArchive(resources = ["myactivity.search","myactivity.youtube"]) untuk membuat arsip data bagi aktivitas penelusuran dan YouTube, sebaiknya lakukan panggilan terpisah ini: InitiatePortabilityArchive(resources = ["myactivity.search"]) dan InitiatePortabilityArchive(resources = ["myactivity.youtube"]).

Permintaan InitiatePortabilityArchive menampilkan job_id. ID pekerjaan ini digunakan untuk mengambil status arsip data.

archiveJobs.getPortabilityArchiveState

Metode archiveJobs.getPortabilityArchiveState dipanggil untuk mengambil state saat ini dari tugas ekspor arsip data. Saat memanggil getPortabilityArchiveState, Anda akan menyediakan job_id: GetPortabilityArchiveState(job_id). Anda juga harus menyediakan token OAuth dengan cakupan yang cocok dengan grup resource yang digunakan dalam permintaan initiate.

Jika statusnya adalah COMPLETE, URL Cloud Storage yang ditandatangani akan ditampilkan dan dapat Anda gunakan untuk mendownload data. Masa berlaku URL yang ditandatangani akan habis setelah enam jam, dan data akan tersedia selama 14 hari.

Permintaan arsip dapat memerlukan waktu beberapa menit, beberapa jam, atau bahkan beberapa hari untuk diselesaikan, bergantung pada volume data. Anda dapat memeriksa status arsip setiap lima hingga 60 menit.

resetAuthorization

Metode resetAuthorization melakukan hal berikut:

  • Mencabut semua cakupan OAuth yang diberikan pengguna
  • Mengizinkan aplikasi Anda memanggil InitiatePortabilityArchive untuk grup resource yang Anda gunakan sebelumnya
  • Menghapus akses ke arsip data sebelumnya

Saat memanggil resetAuthorization, Anda harus memberikan token OAuth yang dilampirkan untuk pengguna yang otorisasinya Anda reset.

archiveJobs.retryPortabilityArchive

Metode archiveJobs.retryPortabilityArchive dipanggil untuk mencoba kembali tugas yang gagal dengan metode archiveJobs.getPortabilityArchiveState yang telah menampilkan state FAILED. Hal ini mungkin terjadi karena kegagalan sementara di backend. Dalam hal ini, Anda dapat mencoba mengekspor kembali tanpa mendapatkan token OAuth baru dari pengguna. Saat memanggil retryPortabilityArchive, Anda menyediakan job_id bersama dengan token OAuth yang valid. Endpoint akan mencoba membuat ekspor untuk grup resource yang sama dengan yang diminta dalam permintaan initiatePortabilityArchive awal. Jika berhasil, endpoint ini akan menampilkan job_id baru yang dapat Anda gunakan dalam panggilan ke getPortabilityArchiveState. Tugas yang gagal dapat dicoba lagi hingga tiga kali.

Contoh:

  1. Anda memanggil InitiatePortabilityArchive(resources = ["myactivity.search"]), dan Anda menerima job_id: 0.

  2. Setelah memanggil GetPortabilityArchiveState(0), Anda menerima JobSate: FAILED.

  3. Anda kemudian dapat memanggil RetryPortabilityArchive(0) untuk menerima job_id: 1 untuk resources = ["myactivity.search"].

  4. Setelah itu, Anda dapat terus melakukan panggilan ke GetPortabilityArchiveState(1).