Data Portability API를 사용하면 Google 서비스의 데이터 사본을 애플리케이션으로 이동하기 위해 사용자에게 승인을 요청하는 애플리케이션을 빌드할 수 있습니다. 이를 통해 데이터를 쉽게 이동하고 서비스를 쉽게 전환할 수 있습니다.
사용자가 데이터를 공유하는 방법에 관한 정보를 확인하려면 서드 파티와 데이터 사본 공유하기를 참고하세요.
기본 요건
앱을 출시하려면 먼저 Google의 승인을 받아야 합니다.
또한 사용자의 위치에서 Data Portability API를 사용할 수 있는지 확인해야 합니다. 지원되는 국가 및 지역의 목록은 '서드 파티와 데이터 사본 공유하기' 페이지의 일반 질문을 참고하세요.
개발자 워크플로
다음은 Data Portability API를 사용하는 애플리케이션을 만드는 단계입니다.
사용자를 위한 OAuth 동의 흐름을 구현합니다. 이 예에서는 사용자가 YouTube 동영상 데이터에 대한 액세스 권한을 제공하고 있습니다.
사용자가 YouTube 동영상 가져오기를 클릭하고 Google 계정에 로그인합니다.
앱이 사용자를 OAuth 동의 URL로 전달합니다. 이 예시 URL은 단순화된 것이며 일부 매개변수가 누락되어 있습니다.
https://accounts.google.com/o/oauth2/v2/auth?scope=https://www.googleapis.com/auth/dataportability.myactivity.youtube
사용자가 OAuth 동의 화면에서 다음을 클릭하고 데이터 공유에 동의한 후 계정 액세스 권한을 제공합니다.
사용자는 앱으로 리디렉션됩니다.
개발자가 사용자의 OAuth 토큰을 가져옵니다.
앱은 다음 OAuth 범위가 포함된 연결된 OAuth 토큰을 사용하여
InitiatePortabilityArchive(resources = ["myactivity.youtube"])
를 호출합니다.https://www.googleapis.com/auth/dataportability.myactivity.youtube
이 호출은 데이터 보관 파일을 만드는 프로세스를 시작합니다. 사용자 승인 후 24시간 이내에 이동성 보관처리를 시작해야 합니다.
앱이 다음 OAuth 범위가 포함된 첨부된 OAuth 토큰으로
GetPortabilityArchiveState(job_id)
를 호출합니다.https://www.googleapis.com/auth/dataportability.myactivity.youtube
이 메서드를 여러 번 호출하여 보관처리 작업의 상태를 가져올 수 있습니다. 이 메서드는 작업의 상태를 반환합니다. 상태가 COMPLETE인 경우 아카이브가 준비되고 서명된 Cloud Storage URL이 제공됩니다. 보관처리 요청을 완료하는 데 걸리는 시간은 데이터 크기에 따라 몇 분에서 몇 시간까지 걸릴 수 있습니다.
서명된 URL을 사용하여 데이터 보관 파일을 다운로드합니다.
연결된 OAuth 토큰으로
ResetAuthorization()
를 호출하여 소진된 리소스를 재설정하고 모든 OAuth 동의를 삭제합니다.
Data Portability API 메서드 사용에 관한 자세한 내용은 Call Data Portability API 메서드를 참조하세요.
사용자가 Data Portability API 앱과 상호작용하는 방식
이 다이어그램은 사용자가 Data Portability API와 통합된 앱과 상호작용하는 방식을 보여줍니다.
먼저 사용자에게 데이터를 검색할 수 있는 옵션이 표시됩니다.
그런 다음 사용자는 Google 계정에 로그인합니다.
그런 다음 사용자는 데이터를 공유하라는 메시지가 표시되면 다음을 클릭하고 개인정보처리방침에 동의하라는 메시지가 표시되면 확인을 클릭합니다.
그런 다음 사용자에게 애플리케이션이 사용자의 데이터에 액세스하도록 허용하는 데 사용되는 OAuth 동의 화면이 표시됩니다. 여기의 옵션은 구성한 OAuth 범위와 일치합니다.
액세스를 허용하면 데이터 가져오기가 시작됩니다. 데이터 크기에 따라 요청이 완료되는 데 몇 분에서 몇 시간이 걸릴 수 있습니다.