Data Portability API aşağıdaki yöntemlerden oluşur:
portabilityArchive.initiate
archiveJobs.getPortabilityArchiveState
resetAuthorization
archiveJobs.retryPortabilityArchive
portabilityArchive.initiate
Yeni bir veri dışa aktarma işi başlatmak için portabilityArchive.initiate
yöntemini çağırırsınız.
Veri arşivi oluşturmak amacıyla bir dışa aktarma işi başlattığınızda, uygun kaynak grubunu istemeniz ve söz konusu kaynak grubu için gerekli kapsamları içeren bir OAuth jetonu sağlamanız gerekir. OAuth jetonu, isteği yetkilendirmek ve hangi kullanıcı verilerinin dışa aktarıldığını belirlemek için kullanılır.
Belirli bir hizmet tarafından desteklenen tüm kaynak gruplarının listesi için ilgili hizmetin şema referans sayfasına bakın.
Örneğin, arama etkinliği verilerini dışa aktarıyorsanız InitiatePortabilityArchive(resources = ["myactivity.search"])
yöntemini çağırırsınız. İstekte şu arama OAuth kapsamıyla ekli bir OAuth jetonu olmalıdır: https://www.googleapis.com/auth/dataportability.myactivity.search
.
Tek bir InitiatePortabilityArchive
çağrısına birden çok kaynak grubu dahil etmek mümkündür, ancak bu önerilmez. Her kaynak grubu için ayrı InitiatePortabilityArchive
isteklerinde bulunarak daha hızlı işleme alabilirsiniz. Birden fazla kaynak grubu istediğinizde, ekli OAuth jetonunda uygun tüm kapsamların eklenmiş olması gerektiğini unutmayın.
Örneğin, hem arama hem de YouTube etkinliği için veri arşivi oluşturmak üzere InitiatePortabilityArchive(resources = ["myactivity.search","myactivity.youtube"])
yöntemini çağırmak yerine şu ayrı çağrıları yapın: InitiatePortabilityArchive(resources = ["myactivity.search"])
ve InitiatePortabilityArchive(resources = ["myactivity.youtube"])
.
InitiatePortabilityArchive
isteği bir job_id
döndürür. Bu iş kimliği, veri arşivinin durumunu almak için kullanılır.
archiveJobs.getPortabilityArchiveState
archiveJobs.getPortabilityArchiveState
yöntemi, veri arşivi dışa aktarma işinin mevcut state almak için çağrılır. getPortabilityArchiveState
numaralı telefonu aradığınızda job_id
şu bilgileri sağlarsınız:
GetPortabilityArchiveState(job_id)
. Ayrıca, initiate
isteğinde kullanılan kaynak gruplarıyla eşleşen kapsamlara sahip bir OAuth jetonu da sağlamanız gerekir.
Durum COMPLETE
ise verileri indirmek için kullanabileceğiniz imzalı Cloud Storage URL'leri döndürülür. İmzalanmış URL'lerin süresi altı saat sonra dolar ve veriler 14 gün boyunca kullanılabilir.
Veri hacmine bağlı olarak bir arşiv isteğinin tamamlanması birkaç dakika, birkaç saat, hatta birkaç gün sürebilir. Arşivin durumunu beş ila 60 dakikada bir kontrol edebilirsiniz.
resetAuthorization
resetAuthorization
yöntemi aşağıdakileri yapar:
- Kullanıcı tarafından verilen tüm OAuth kapsamlarını iptal eder
- Uygulamanızın daha önce kullandığınız kaynak grubu için
InitiatePortabilityArchive
- Önceki veri arşivlerine erişimi kaldırır
resetAuthorization
yöntemini çağırırken yetkilendirmesini sıfırladığınız kullanıcı için ekli bir OAuth jetonu sağlamanız gerekir.
archiveJobs.retryPortabilityArchive
archiveJobs.getPortabilityArchiveState
yönteminin zaten FAILED
state döndürdüğü başarısız işleri yeniden denemek için archiveJobs.retryPortabilityArchive
yöntemi çağrılır. Bu durum, arka uçtaki geçici bir hatadan kaynaklanabilir. Bu durumda, kullanıcıdan yeni bir OAuth jetonu almadan dışa aktarma işlemini yeniden deneyebilirsiniz. retryPortabilityArchive
yöntemini çağırdığınızda job_id
ile birlikte geçerli bir OAuth jetonu sağlarsınız. Ardından uç nokta, ilk initiatePortabilityArchive
isteğinde istenen kaynak grupları için dışa aktarma işlemi oluşturmaya çalışır. Başarılı olursa bu uç nokta, getPortabilityArchiveState
çağrılarında kullanabileceğiniz yeni bir job_id
döndürür. Başarısız bir iş en fazla üç kez yeniden denenebilir.
Örneğin:
InitiatePortabilityArchive(resources = ["myactivity.search"])
numaralı telefonu ararsınız vejob_id: 0
alırsınız.GetPortabilityArchiveState(0)
numaralı telefonu aradıktan sonraJobSate: FAILED
alırsınız.Ardından,
resources = ["myactivity.search"]
karşılığındajob_id: 1
almak içinRetryPortabilityArchive(0)
numaralı telefonu arayabilirsiniz.Sonrasında,
GetPortabilityArchiveState(1)
numaralı telefonu aramaya devam edebilirsiniz.