애플리케이션에 OAuth를 구성하려면 OAuth 워크플로를 설정하고 Data Portability API OAuth 범위를 사용 설정합니다.
OAuth 워크플로 설정
애플리케이션의 OAuth 흐름을 설정하려면 Google ID 문서의 기본 단계를 따르세요.
대부분의 개발자는 OAuth 동의를 얻기 위해 서버 측 웹 앱 흐름을 사용하지만 JavaScript 웹 앱 흐름 또는 모바일 및 데스크톱 앱 흐름을 사용할 수도 있습니다.
Data Portability API OAuth 범위
OAuth용 Data Portability API 애플리케이션을 구성할 때 애플리케이션과 관련된 Data Portability API OAuth 범위를 사용 설정합니다. 일부 범위는 sensitive
및 restricted
이며 추가 요구사항이 적용됩니다.
OAuth 흐름에 Data Portability API 범위를 추가하면 사용자가 일부 범위에만 동의하는 경우가 있습니다. 앱은 다음과 같은 방식으로 이러한 케이스를 처리할 수 있어야 합니다.
- 부분 데이터 내보내기 허용
- 사용자에게 필요한 범위를 모두 선택하지 않았다고 알리고 적절하게 실패함
- 사용자에게 나머지 동의 요청
사용자의 동의를 얻으면 해당 동의에 대해 한 번의 데이터 내보내기가 허용됩니다. 데이터를 다시 다운로드하려면 사용자의 새 동의가 필요합니다.
또한 OAuth 흐름 중에 앱은 동의하는 데 사용된 Google 계정을 알 수 없습니다. 애플리케이션에서 수신하는 OAuth 토큰은 불투명합니다.
사용자가 데이터를 공유하는 방법에 관한 정보를 확인하려면 서드 파티와 데이터 사본 공유하기를 참고하세요.
범위 제한
이 섹션에서는 오류가 발생하는 범위의 제한사항을 설명합니다.
혼합된 범위
Data Portability API 범위 (예: https://www.googleapis.com/auth/dataportability.*) 요청은 다른 범위 (예: https://www.googleapis.com/auth/userinfo.email)와 혼합할 수 없습니다. 다음은 제한된 부분이 굵게 표시된 잘못된 요청의 예입니다.
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
이전에 부여된 범위
DPAPI 범위를 요청할 때는 include_granted_scopes=true
를 설정해서는 안 됩니다.
다음은 제한된 부분이 굵게 표시된 잘못된 요청의 예입니다.
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
범위 카테고리
Data Portability API에서 지원하는 모든 OAuth 범위 및 카테고리의 목록은 사용 가능한 OAuth 범위를 참고하세요. 특정 서비스에서 지원하는 모든 리소스 그룹 및 OAuth 범위의 목록은 해당 서비스의 스키마 참조 페이지를 참고하세요.