Rozwiązywanie problemów z interfejsem Data Portability API

Na tej stronie pokazujemy deweloperom aplikacji, jak rozwiązywać problemy z interfejsem Data Portability API.

W przypadku tego zakresu nie można używać stopniowego uwierzytelniania

Gdy żądasz przeprowadzenia procesu OAuth w przypadku zakresów interfejsu API Portability API z include_granted_scopes=true, a użytkownik końcowy już przyznał niektóre zakresy projektowi lub przyznał niektóre z wymaganych zakresów, występuje ten problem:

Incremental auth is not allowed for the requested scopes.
If you are a developer of APP_NAME, see error details.
Error 400: invalid_request

Aby rozwiązać ten problem, usuń include_granted_scopes z prośby lub ustaw go na wartość Fałsz i poproś tylko o zakresy, których użytkownik nie przyznał. Więcej informacji znajdziesz w artykule Wcześniej przyznane zakresy uprawnień.

Brak opcji odnowienia

Ten problem występuje, gdy użytkownik przyznaje dostęp do projektu o stanie Testowanie. Odnowienie jest dostępne tylko w przypadku projektów o stanie publikowania Produkcyjna. Użytkownik nie zobaczy opcji odnowienia na stronie połączeń na koncie.

Aby rozwiązać ten problem, zmień stan publikowania projektu na Produkcyjna. Szczegółowe informacje znajdziesz w artykule Konfigurowanie procesu OAuth.

Żądane zasoby nie są autoryzowane

Gdy wysyłasz żądanie do interfejsu Data Portability API, aby zainicjować zadanie dla grup zasobów, których zakresy nie są przyznawane w załączonym tokenie dostępu OAuth, występuje ten problem.

HttpError 403 when requesting https://dataportability.googleapis.com/v1/portabilityArchive:initiate?alt=json returned "The requested resources are not authorized by the OAuth token.". Details: "[{'@type': 'type.googleapis.com/google.rpc.DebugInfo', 'detail': '[ORIGINAL ERROR] generic::permission_denied: com.google.dataliberation.portability.boq.thirdparty.utils.PortabilityApiException: The requested resources are not authorized by the OAuth token. Code: PERMISSION_DENIED [google.rpc.error_details_ext] { message: "The requested resources are not authorized by the OAuth token." }'}]"

Aby rozwiązać ten problem, śledź, które uprawnienia są przyznawane przez które tokeny OAuth. Jeśli użytkownik przyznał różne zakresy uprawnień w ramach różnych procesów, może być konieczne przechowywanie wielu różnych tokenów dla tego samego użytkownika. Pamiętaj też, że użytkownik może przyznać tylko część zakresów wymaganych w ramach procesu OAuth. Przykłady znajdziesz w krótkim przewodniku po Pythonie.

Błąd 400 na stronie https://takeout.google.com/dpinfo podczas wysyłania żądania wielu zakresów

Gdy długość adresu URL przekroczy obsługiwaną liczbę ze względu na liczbę zakresów w żądaniu, https://takeout.google.com/dpinfo zwróci błąd 400. Aby rozwiązać ten problem, podziel żądania dotyczące zakresów na kilka mniejszych partii.