Data Portability API 문제 해결

이 페이지에서는 앱 개발자가 Data Portability API 관련 문제를 해결하는 방법을 보여줍니다.

이 범위에서는 증분 인증이 허용되지 않습니다.

include_granted_scopes=true를 사용하여 Data Portability API 범위에 대한 OAuth 흐름을 요청했는데 최종 사용자가 이미 프로젝트에 일부 범위를 부여했거나 사용자가 이미 요청된 범위 중 일부를 부여한 경우 다음 문제가 발생합니다.

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

이 문제를 해결하려면 요청에서 include_granted_scopes를 삭제하거나 false로 설정하고 사용자가 부여하지 않은 범위만 요청하세요. 자세한 내용은 이전에 부여된 범위를 참고하세요.

갱신 옵션 없음

최종 사용자가 테스트 게시 상태의 프로젝트에 액세스 권한을 부여하면 다음 문제가 발생합니다. 갱신은 프로덕션 게시 상태인 프로젝트에만 사용할 수 있습니다. 최종 사용자의 My Account 연결 페이지에는 갱신 옵션이 표시되지 않습니다.

이 문제를 해결하려면 프로젝트의 게시 상태를 프로덕션으로 변경하세요. 자세한 내용은 OAuth 워크플로 설정을 참고하세요.

요청된 리소스가 승인되지 않음

첨부된 OAuth 액세스 토큰에서 범위가 부여되지 않은 리소스 그룹의 작업을 시작하도록 Data Portability API에 요청하면 다음 문제가 발생합니다.

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." }'}]"

이 문제를 해결하려면 어떤 OAuth 토큰에서 어떤 범위를 부여했는지 추적합니다. 사용자가 여러 흐름을 통해 서로 다른 범위를 부여한 경우 동일한 사용자에 대해 여러 개의 서로 다른 토큰을 저장해야 할 수 있습니다. 또한 사용자가 OAuth 흐름에서 요청된 범위의 하위 집합만 부여했을 수도 있습니다. 예시는 Python 빠른 시작을 참고하세요.

여러 범위를 요청할 때 https://takeout.google.com/dpinfo에서 400 오류가 발생함

요청의 범위 수가 많아 URL 길이가 지원되는 길이를 초과하면 https://takeout.google.com/dpinfo에서 400 오류가 발생합니다. 이 문제를 해결하려면 범위 요청을 여러 개의 작은 배치로 분할하세요.