Bu hızlı başlangıç kılavuzunda, hesabınız için bir OAuth jetonu alır ve Veri Taşıma API'si uç noktalarına yinelenen istekler gönderirsiniz.
Bu hızlı başlangıç kılavuzunda, kullanıcı verilerine zamana dayalı erişim için Data Portability API'nin nasıl kullanılacağı açıklanmaktadır. Kullanıcı verilerine tek seferlik erişim için Data Portability API'yi kullanmaya başlama başlıklı makaleyi inceleyin. İsteğinize zaman filtrelerini nasıl uygulayacağınızı öğrenmek için Zaman Filtreleri Uygulama başlıklı makaleyi inceleyin.
Öğrenecekleriniz
Bu hızlı başlangıç kılavuzunda şunları öğreneceksiniz:
- Geçerli bir OAuth jetonu sağlayarak
InitiatePortabilityArchive
uç noktasına kimliği doğrulanmış bir istek gönderin. Yanıt geçerli birjob_id
içermelidir. GetPortabilityArchiveState
uç noktasına kimliği doğrulanmış bir istek gönderin. Yanıt, geçerli bir iş durumu ve iş tamamlandığında imzalı bir URL içermelidir.- Aynı kimlik bilgilerini kullanarak
InitiatePortabilityArchive
uç noktasına geçerli bir OAuth jetonu içeren kimliği doğrulanmış bir istek ikinci kez gönderin. Bu, istek ilk istekten sonraki 24 saat içinde yapıldığındaFAILED_PRECONDITION
hatası döndürür.
Ön koşullar
Bu hızlı başlangıç kılavuzunu çalıştırmak için:
- Data Portability API'nin bulunduğunuz yerdeki kullanıcılar tarafından kullanılabildiğini doğrulayın. Desteklenen ülke ve bölgelerin listesi için "Verilerinizin bir kopyasını üçüncü taraflarla paylaşma" sayfasındaki Sık Sorulan Sorular bölümüne bakın.
- Data Portability API'nin kurulum adımlarını tamamlayın.
- JavaScript web uygulamaları için OAuth'u yapılandırma adımlarını uygulayın. Üretimde normalde web sunucusu uygulamaları için OAuth akışı gibi farklı bir akış kullanırsınız.
Bu hızlı başlangıç kılavuzunda, basitlik açısından JavaScript web uygulaması akışı kullanılmaktadır.
- Yetkilendirme kimlik bilgilerinizi oluştururken OAuth 2.0 istemci kimliğinizi ve yetkili yönlendirme URI'nizi (ör. https://google.com) not edin. Hızlı başlangıç kılavuzunun ilerleyen bölümlerinde bu bilgilere ihtiyacınız olacaktır.
- Data Portability API için kapsamları yapılandırırken bu hızlı başlangıç kılavuzunun
myactivity.search
kaynak grubunu kullandığını unutmayın: https://www.googleapis.com/auth/dataportability.myactivity.search. - Erişime izin vermek istediğiniz süreyi seçerken zamana dayalı erişimi test etmek için 30 gün'ü seçmeniz gerekir.
- OAuth jetonu alın.
- Kuruluşunuzun sahibi olduğu veya kontrol ettiği bir hesaba erişme Bu hesaptaki arama etkinliği verileri bu hızlı başlangıç kılavuzunda dışa aktarılır.
OAuth jetonu alma
Bu hızlı başlangıç kılavuzunda, bir URL kullanarak OAuth jetonu almak için yetkilendirme isteği gönderirsiniz. Bu işlem, JavaScript web uygulamaları için akışı kullanır. Bu akış, yenileme jetonu döndürmez.
Üretim uygulaması için genellikle, isteğe bağlı olarak erişim jetonları oluşturmak üzere kullanılabilecek bir yenileme jetonu almak için bir OAuth akışı kullanırsınız. Buna örnek olarak sunucu tarafı web uygulamaları akışı verilebilir.
OAuth jetonu almak için:
Aşağıdaki gibi bir URL oluşturun.
https://accounts.google.com/o/oauth2/v2/auth? client_id=client_id& redirect_uri=redirect_uri& response_type=token& scope=https://www.googleapis.com/auth/dataportability.myactivity.search& state=developer-specified-value
URL'de:
client_id
, OAuth istemci kimliğinizdir.redirect_uri
, yetkilendirilmiş yönlendirme URI'nizdir (ör. https://google.com).
Bu hızlı başlangıç kılavuzunun URL'sinde arama etkinliği kapsamının kullanıldığına dikkat edin. YouTube etkinliği kapsamını veya her iki kapsamı da kullanabilirsiniz.
URL'yi tarayıcınızın adres çubuğuna yapıştırın ve OAuth akışında belirtilen adımları uygulayın. Bu akış, bu hızlı başlangıç kılavuzunda kullandığınız, kuruluşunuza ait veya kuruluşunuz tarafından kontrol edilen hesapta oturum açmanızı gerektirir.
Bu, OAuth kapsamlarına izin veren hesaptır. İzin ekranı şu şekilde görünmelidir (Ekranınızdaki metin bu resimdeki metinden farklı olabilir):
Erişim izni verilecek kapsamları ve hesabın verilerine erişimi paylaşacağınız süreyi (bir kez, 30 gün veya 180 gün) seçin. Bu hızlı başlangıç kılavuzu için 30 gün'ü seçin.
İzin verdikten ve erişimin süresine karar verdikten sonra yönlendirme URI'sine (https://google.com) yönlendirilirsiniz. Adres çubuğunda oluşturulan URL, OAuth erişim jetonunu içerir.
Örneğin, kullanıcı hesabı
dataportability.myactivity.search
kapsamına OAuth erişimi verirse oluşturulan URL şu şekilde görünür:https://google.com/#state=developer-specified-value&access_token=your_OAuth_token&token_type=Bearer&expires_in=3599&scope=https://www.googleapis.com/auth/dataportability.myactivity.search
URL'de your_OAuth_token, jetonu temsil eden bir dizedir.
OAuth jetonunu doğrulamak için bu URL'yi tarayıcınıza yapıştırın:
https://www.googleapis.com/oauth2/v3/tokeninfo?access_token=your_OAuth_token
Yanıt şu şekilde görünmelidir:
{ "azp": <your_azp_value>, "aud": <your_aud_value>, "scope": "https://www.googleapis.com/auth/dataportability.myactivity.search", "exp": "1694210968", "expires_in": "3334", "access_type": "online" }
İstek göndermek için
azp
veyaaud
alanlarına ihtiyacınız yoktur.azp
alanı, yetkili sunucununclient_id
değerini temsil eder.aud
alanı ise bu jetonun hedef kitlesini tanımlar. Bu alan, uygulamanızın istemci kimliklerinden birine eşit olur.OAuth jetonunuzu ve API anahtarınızı alın. Data Portability API'ye çağrı yapmak için bunlara ihtiyacınız vardır.
Uç noktalara istek gönderme
Bu hızlı başlangıç kılavuzunda, Data Portability API uç noktalarını çağırmak için curl komutlarını kullanacaksınız. Bu komutlar için daha önce topladığınız OAuth jetonu ve API anahtarı gerekir.
Data Portability API'yi çağırmak için:
Öncelikle
InitiatePortabilityArchive
uç noktasına kimliği doğrulanmış bir istek gönderirsiniz. Bu istek, bir arşivleme işi başlatır.Aşağıdaki curl komutunu çalıştırın:
curl -H 'Authorization: Bearer your_OAuth_token' -X POST \ -H "Content-Type: application/json; charset=utf-8" \ --data '{"resources":["myactivity.search"]}' \ https://dataportability.googleapis.com/v1/portabilityArchive:initiate
Komutta:
your_OAuth_token
, OAuth jetonunuzdur.
InitiatePortabilityArchive
isteği birjob_id
veaccessType
döndürür. İş kimliği, veri arşivindeki durumu almak için kullanılır ve erişim türü, verilere tek seferlik mi yoksa zamana dayalı erişim mi verildiğini belirler. Zamana dayalı erişim için şunları görürsünüz:{ "archiveJobId": "<your_job_id>" "accessType": "ACCESS_TYPE_TIME_BASED" }
Geçerli bir OAuth jetonu sağlamazsanız şu hata mesajı döndürülür:
Request had invalid authentication credentials. Expected OAuth 2.0 access token, login cookie or other valid authentication credential. See https://developers.google.com/identity/sign-in/web/devconsole-project.
Ardından, arşivleme işinin durumunu almak için
GetPortabilityArchiveState
uç noktasına kimlik doğrulaması yapılmış bir istek gönderirsiniz.Aşağıdaki curl komutunu çalıştırın:
curl -H 'Authorization: Bearer your_OAuth_token' -X GET \ -H "Content-Type: application/json; charset=utf-8" \ https://dataportability.googleapis.com/v1/archiveJobs/your_job_id/portabilityArchiveState
Komutta:
your_OAuth_token
, OAuth jetonunuzdur.your_job_id
,InitiatePortabilityArchive
isteği tarafından döndürülen iş kimliğidir.
Yanıt, işin durumuna bağlıdır. İş tamamlanmadıysa yanıtta mevcut durum sağlanır. İş tamamlanana kadar bu uç noktaya düzenli olarak istek göndermeniz gerekir.
{ "state": "IN_PROGRESS" }
İş tamamlandıysa yanıtta durum ve veri arşivini indirmek için kullanılan bir veya daha fazla imzalı URL bulunur.
{ "state": "COMPLETE", "urls": [ "<signed_url>" ] }
Veri arşivini indirmek için imzalanmış URL'yi tarayıcınıza yapıştırın. Beklenen arama etkinliği verilerini içerdiğinden emin olmak için arşivin içeriğini incelemeniz gerekir.
Yanıtta
FAILED
durumu alırsanızRetryPortabilityArchive
yöntemini kullanarak dışa aktarma işlemini yeniden deneyebilirsiniz.InitiatePortabilityArchive
uç noktasına kimliği doğrulanmış bir istek göndermek için önceki komutu tekrarlayın.curl -H 'Authorization: Bearer your_OAuth_token' -X POST \ -H "Content-Type: application/json; charset=utf-8" \ --data '{"resources":["myactivity.search"]}' \ https://dataportability.googleapis.com/v1/portabilityArchive:initiate
Komutta:
your_OAuth_token
, OAuth jetonunuzdur.
Yanıtta,
myactivity.search
kaynağını daha önce dışa aktardığınız ve tekrar denemeniz için bir zaman damgası belirtilir.... "error": { "code": 429, "message": "Requested resources have already been exported. You can initiate another export after #{timestamp_after_24hrs}.", "status": "RESOURCE_EXHAUSTED", "details": [ { "@type": "type.googleapis.com/google.rpc.ErrorInfo", "reason": "RESOURCE_EXHAUSTED_TIME_BASED", "domain": "dataportability.googleapis.com" "metadata": { "previous_job_ids": "#{previous_job_ids}" "access_type": "ACCESS_TYPE_TIME_BASED" "timestamp_after_24hrs": "#{timestamp_after_24hrs}" ...