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 동의 화면에서 다음을 클릭하고 데이터 공유에 동의한 후 계정 액세스 권한을 제공합니다. 
- 사용자가 공유할 데이터와 앱이 해당 데이터에 액세스할 수 있는 시간 (데이터에 대한 일회성 액세스 또는 30일 또는 180일 동안의 시간 기반 액세스)를 선택한 다음 계속을 클릭합니다. - 참고: OAuth 토큰이 만료되기 최대 90일 전에 사용자는 OAuth 토큰이 만료되기 전에 데이터에 대한 액세스 권한을 갱신할 수 있습니다. 사용자에게 90일 이내에 만료되는 범위가 없는 경우 갱신 버튼이 표시되지 않습니다. - 참고: 사용자가 일회성 액세스와 시간 기반 액세스 간에 전환하려면 기존 부여가 취소된 후 동의 절차를 다시 거쳐야 합니다. - resetAuthorization()를 사용하여 부여를 취소하거나 사용자는 연결 페이지에서 취소할 수 있습니다.
- 사용자가 앱으로 리디렉션됩니다. 
- 개발자가 사용자의 OAuth 토큰을 가져옵니다. 
 
- 앱이 다음 OAuth 범위가 포함된 연결된 OAuth 토큰으로 - InitiatePortabilityArchive(resources = ["myactivity.youtube"])를 호출합니다.- https://www.googleapis.com/auth/dataportability.myactivity.youtube- 이 호출은 데이터 보관 파일 생성 프로세스를 시작하고 작업 ID 및 사용자가 일회성 액세스 권한을 부여했는지 여부로 응답합니다. - 참고: 일회성 액세스 권한은 범위당 하나의 내보내기를 의미합니다. 사용자가 여러 범위를 부여하는 경우 토큰으로 승인된 각 리소스에 대해 별도의 작업을 만들 수 있습니다. 
- 앱이 다음 OAuth 범위가 포함된 첨부된 OAuth 토큰으로 - GetPortabilityArchiveState(job_id)를 호출합니다.- https://www.googleapis.com/auth/dataportability.myactivity.youtube- 이 메서드를 여러 번 호출하여 보관처리 작업의 상태를 가져올 수 있습니다. 이 메서드는 작업의 상태를 반환합니다. 상태가 - COMPLETE이면 아카이브가 준비되고 서명된 Cloud Storage URL이 제공됩니다. 보관처리 요청을 완료하는 데 걸리는 시간은 데이터 크기에 따라 몇 분에서 몇 시간까지 걸릴 수 있습니다.
- 서명된 URL을 사용하여 데이터 보관 파일을 다운로드합니다. 
- 사용자가 일회성 액세스를 허용하는 경우 연결된 OAuth 토큰으로 - ResetAuthorization()를 호출하여 소진된 리소스를 재설정하고 모든 OAuth 동의를 삭제합니다.
- 사용자가 시간 기반 액세스 권한을 부여한 경우 동의가 만료될 때까지 24시간마다 리소스를 내보낼 수 있습니다. 
Data Portability API 메서드 사용에 관한 자세한 내용은 Data Portability API 메서드 호출을 참고하세요.
사용자가 Data Portability API 앱과 상호작용하는 방식
이 다이어그램은 사용자가 Data Portability API와 통합된 앱과 상호작용하는 방식을 보여줍니다.
 
 
- 먼저 사용자에게 데이터를 검색할 수 있는 옵션이 표시됩니다. 
- 그런 다음 사용자는 Google 계정에 로그인합니다. 
- 그런 다음 사용자는 데이터 공유 메시지가 표시되면 다음을 클릭하고 개인정보처리방침 수락 메시지가 표시되면 이해했습니다를 클릭합니다. 
- 그런 다음 사용자에게 애플리케이션이 사용자의 데이터에 액세스하도록 허용하는 데 사용되는 OAuth 동의 화면이 표시됩니다. 여기의 옵션은 구성한 OAuth 범위와 일치합니다. 사용자가 공유할 데이터와 앱이 해당 데이터에 액세스할 수 있는 시간 (데이터에 대한 일회성 액세스 또는 30일 또는 180일 동안의 시간 기반 액세스)를 선택한 다음 계속을 클릭합니다. 
- 액세스를 허용하면 데이터 가져오기가 시작됩니다. 데이터 크기에 따라 요청을 완료하는 데 몇 분에서 몇 시간까지 걸릴 수 있습니다.