Skonfiguruj OAuth dla swojej aplikacji

Aby skonfigurować OAuth w przypadku aplikacji, skonfiguruj przepływ pracy OAuth i włącz zakresy OAuth interfejsu Data Portability API.

Konfigurowanie przepływu pracy OAuth

Aby skonfigurować w aplikacji proces OAuth, wykonaj podstawowe czynności opisane w dokumentacji dotyczącej tożsamości Google.

Większość deweloperów używa procesu aplikacji internetowych po stronie serwera do uzyskiwania zgody OAuth, ale możesz też użyć procesu aplikacji internetowych w JavaScriptzie lub procesu aplikacji mobilnych i na komputery.

Eksportowanie może potrwać dłużej niż czas ważności tokena dostępu. Użytkownik może też przyznać dostęp na 30 lub 180 dni. Może być konieczne uzyskanie tokena odświeżania i okresowe wymienianie go na nowy token dostępu. Więcej informacji znajdziesz w artykułach Odświeżanie tokenu dostępu w przypadku aplikacji internetowychOdświeżanie tokenu dostępu w przypadku aplikacji mobilnych i na komputer.

Ważne: odnawianie tokena OAuth jest dostępne tylko dla użytkowników, jeśli stan publikowania klienta OAuth to Wersja produkcyjna, a nie Testowanie. Dodatkowo tokeny przyznane klientom OAuth z stanem publikowania wygasają zawsze po 7 dniach, nawet jeśli wybierzesz okres 30 lub 180 dni. Szczegółowe informacje znajdziesz w artykule Konfigurowanie ekranu zgody OAuth.

Zakresy protokołu OAuth interfejsu Data Portability API

Podczas konfigurowania aplikacji Data Portability API pod kątem OAuth włącz zakresy OAuth Data Portability API, które są odpowiednie dla Twojej aplikacji. Niektóre zakresy sensitiverestricted podlegają dodatkowym wymaganiom.

Gdy dodasz do procesu OAuth zakresy interfejsu Data Portability API, użytkownik może wyrazić zgodę na niektóre z nich, ale nie na wszystkie. Aplikacja musi umożliwiać obsługę tych przypadków:

  • Zezwalanie na eksport częściowych danych
  • Powiadomienie użytkownika, że nie wybrał wszystkich wymaganych zakresów (i uprzejme odrzucenie)
  • Prośba o pozostałe zgody

Użytkownik może też zdecydować, czy przyznać Ci dostęp do swoich danych na 30 dni czy na 180 dni.

  • Jeśli użytkownik przyzna Ci jednorazowy dostęp, Twoja aplikacja może wykonać jeden eksport danych w ramach danej zgody. Aby pobrać dane ponownie, musisz uzyskać nową zgodę użytkownika.
  • Jeśli użytkownik przyzna Ci dostęp czasowy, Twoja aplikacja będzie mogła eksportować dane przez określony czas lub do momentu, gdy użytkownik wycofa zgodę.
  • Możesz też zastosować do swojej prośby filtry czasowe, aby wyeksportować dane za określony przedział czasu, np. za ostatnie 6 miesięcy.

Pamiętaj też, że podczas procesu OAuth Twoja aplikacja nie wie, którego konta Google użyto do wyrażenia zgody. Token OAuth, który otrzymuje Twoja aplikacja, jest nieprzezroczysty.

Jeśli szukasz informacji o tym, jak użytkownicy udostępniają dane, zapoznaj się z artykułem Udostępnianie kopii swoich danych innej firmie.

Ograniczenia zakresu

Ta sekcja dotyczy ograniczeń w zakresie, które powodują błędy.

Zakresy mieszane

Żądania dotyczące zakresów interfejsu API Przenoszenie danych (np. https://www.googleapis.com/auth/dataportability.*) nie mogą być mieszane z innymi zakresami (np. https://www.googleapis.com/auth/userinfo.email). Oto przykład nieprawidłowego żądania z pogrubionym fragmentem, który został ograniczony:

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

Wcześniej przyznane zakresy

Nigdy nie należy ustawiać wartości include_granted_scopes=true podczas żądania zakresów DPAPI. Oto przykład nieprawidłowego zapytania z pogrubionym fragmentem zawierającym informacje podlegające ograniczeniom:

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

Zbyt wiele zakresów

Jeśli do żądania dołączono zbyt wiele zakresów, może wystąpić błąd400 bad request. Dzieje się tak, gdy długość adresu URL przekracza długość obsługiwaną przez przeglądarki. Aby rozwiązać ten problem, podziel żądania dotyczące zakresów na kilka mniejszych partii i użyj autoryzacji stopniowej, aby poprosić o zgodę na każdą partię.

Kategorie zakresów

Listę wszystkich zakresów OAuth obsługiwanych przez interfejs Data Portability API oraz ich kategorii znajdziesz w artykule Dostępne zakresy OAuth. Listę wszystkich grup zasobów i zakresów OAuth obsługiwanych przez daną usługę znajdziesz na stronie referencyjnej schematu tej usługi.