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:
Anda memanggil
InitiatePortabilityArchive(resources = ["myactivity.search"])
, dan Anda menerimajob_id: 0
.Setelah memanggil
GetPortabilityArchiveState(0)
, Anda menerimaJobSate: FAILED
.Anda kemudian dapat memanggil
RetryPortabilityArchive(0)
untuk menerimajob_id: 1
untukresources = ["myactivity.search"]
.Setelah itu, Anda dapat terus melakukan panggilan ke
GetPortabilityArchiveState(1)
.