Uygulamanız için OAuth'u yapılandırın

Uygulamanız için OAuth'u yapılandırmak üzere bir OAuth iş akışı oluşturur ve Veri Taşınabilirliği API'si OAuth kapsamlarını etkinleştirirsiniz.

OAuth iş akışı oluşturma

Uygulamanız için bir OAuth akışı oluşturmak üzere Google Identity dokümanlarında yer alan temel adımları uygulayın.

Çoğu geliştirici, OAuth izni almak için Sunucu Taraflı Web Uygulamaları akışını kullanır ancak JavaScript Web Uygulamaları akışını veya Mobil ve Masaüstü Uygulamaları akışını da kullanabilirsiniz.

Dışa aktarma işlemi, erişim jetonunun geçerlilik süresinden daha uzun sürebilir veya kullanıcı 30 ya da 180 gün boyunca erişim izni verebilir. Yenileme jetonu almanız ve bunu düzenli olarak yeni bir erişim jetonuyla değiştirmeniz gerekebilir. Daha fazla bilgi için Web uygulamaları için erişim jetonunu yenileme ve Mobil ve masaüstü uygulamaları için erişim jetonunu yenileme başlıklı makaleleri inceleyin.

Önemli: OAuth jetonunu yalnızca OAuth istemciniz Test değil Üretimde yayın durumundaysa yenileyebilirsiniz. Ayrıca, Test yayın durumu olan OAuth istemcilerine verilen jetonların süresi, 30 veya 180 günlük bir süre seçseniz bile her zaman 7 gün içinde dolar. Ayrıntılar için OAuth izin ekranınızı ayarlama başlıklı makaleyi inceleyin.

Data Portability API OAuth kapsamları

Data Portability API uygulamanızı OAuth için yapılandırırken uygulamanızla alakalı Data Portability API OAuth kapsamlarını etkinleştirin. Bazı kapsamlar sensitive ve restricted olup ek şartlara tabidir.

Data Portability API kapsamlarını OAuth akışınıza eklediğinizde, kullanıcınızın kapsamların tümüne değil, yalnızca bazılarına izin vermesi söz konusu olabilir. Uygulamanız aşağıdakileri yaparak bu sorunları çözebilmelidir:

  • Kısmi veri dışa aktarma işlemlerine izin verme
  • Kullanıcıya gerekli tüm kapsamları seçmediğini bildirme (ve sorunsuz bir şekilde başarısız olma)
  • Kullanıcıdan kalan izinleri isteme

Ayrıca kullanıcı, verilerine bir kez mi yoksa 30 veya 180 gün boyunca mı erişim izni vereceğini seçer.

  • Bir kullanıcı size tek seferlik erişim izni verirse uygulamanızın söz konusu izin için tek veri dışa aktarma işlemi gerçekleştirmesine izin verilir. Verileri tekrar indirmek için kullanıcıdan yeni bir izin almanız gerekir.
  • Bir kullanıcı size zamana dayalı erişim izni verirse uygulamanızın, belirtilen süre boyunca veya kullanıcı izni iptal edene kadar veri dışa aktarma işlemi yapmasına izin verilir.
  • Son 6 ay gibi belirli bir zaman aralığına ait verileri dışa aktarmak için isteğinize zaman filtreleri uygulamayı da seçebilirsiniz.

Ayrıca, OAuth akışı sırasında uygulamanızın izin vermek için hangi Google Hesabı'nın kullanıldığını bilmediğini de belirtmek isteriz. Uygulamanızın aldığı OAuth jetonu opak.

Kullanıcıların verileri nasıl paylaştığı hakkında bilgi edinmek istiyorsanız Verilerinizin kopyasını üçüncü taraflarla paylaşma başlıklı makaleyi inceleyin.

Kapsam kısıtlamaları

Bu bölümde, kapsamlardaki hatalara neden olan kısıtlamalar ele alınmaktadır.

Karma kapsamlar

Data Portability API kapsamlarıyla ilgili istekler (ör. https://www.googleapis.com/auth/dataportability.*) diğer kapsamlarla (ör. https://www.googleapis.com/auth/userinfo.email) karıştırılamaz. Aşağıda, kısıtlanmış kısmın kalın olarak gösterildiği hatalı bir istek örneği verilmiştir:

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+https://www.googleapis.com/auth/userinfo.email&
include_granted_scopes=false

Daha önce verilen kapsamlar

DPAPI kapsamları isteğinde bulunurken hiçbir zaman include_granted_scopes=true değerini ayarlamanız gerekmez. Aşağıda, kısıtlanmış kısmın kalın olarak gösterildiği hatalı bir istek örneği verilmiştir:

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&
include_granted_scopes=true

Çok fazla kapsam

İsteğinize çok fazla kapsam eklenmişse 400 bad request hatasıyla karşılaşabilirsiniz. Bu durum, URL uzunluğu tarayıcılarda desteklenenden daha fazla olduğunda ortaya çıkar. Çözüm için kapsam isteklerinizi birden fazla küçük gruba bölün ve her grup için izin istemek üzere artımlı yetkilendirme kullanın.

Kapsam kategorileri

Data Portability API tarafından desteklenen tüm OAuth kapsamlarının ve kategorilerinin listesi için Kullanılabilir OAuth kapsamları başlıklı makaleyi inceleyin. Belirli bir hizmet tarafından desteklenen tüm kaynak gruplarının ve OAuth kapsamlarının listesi için ilgili hizmetin şema referans sayfasına bakın.