Python 스크립트를 사용하여 Data Portability API 호출

이 빠른 시작에서는 계정의 OAuth 토큰을 가져오고 Python 스크립트를 사용하여 Data Portability API 엔드포인트에 요청을 전송합니다.

학습 내용

이 빠른 시작에서는 Python 스크립트를 사용하여 다음 작업을 실행합니다.

  • 유효한 OAuth 토큰을 제공하여 InitiatePortabilityArchive 엔드포인트에 인증된 요청을 보냅니다. 응답은 유효한 job_id입니다.
  • GetPortabilityArchiveState 엔드포인트에 인증된 요청을 전송하고 데이터를 다운로드합니다. 응답에는 유효한 작업 상태가 포함되어야 하며 작업이 완료되면 서명된 URL이 포함되어야 합니다.
  • 나중에 재사용할 수 있도록 시간 기반 액세스 권한이 있는 OAuth 토큰을 저장합니다.
  • ResetAuthorization 엔드포인트에 인증된 요청을 보냅니다. 이 요청은 사용자가 부여한 모든 OAuth 범위를 취소합니다.
  • start_time 또는 end_time와 함께 유효한 OAuth 토큰을 제공하여 InitiatePortabilityArchive 엔드포인트에 인증된 요청을 전송하여 요청에 시간 필터를 적용합니다.

기본 요건

이 빠른 시작을 실행하려면 다음을 실행해야 합니다.

  • Data Portability API를 사용할 수 있는지 확인합니다. 지원되는 국가 및 지역의 목록은 '서드 파티와 데이터 사본 공유하기' 페이지의 일반적인 질문을 참고하세요.
  • Data Portability API의 설정 단계를 완료하고 새 프로젝트를 사용하고 있는지 확인합니다.
  • 조직에서 소유하거나 관리하는 계정에 대한 액세스 권한을 얻습니다. 이 빠른 시작에서는 이 계정의 검색 활동 데이터를 내보냅니다.

이 빠른 시작을 시작하기 전에 Python 클라이언트 라이브러리의 OAuth, Python, OAuth 패키지도 설정해야 합니다.

OAuth 설정

  • 단계에 따라 설치된 애플리케이션에 OAuth를 구성합니다. 이 흐름은 웹 서버 애플리케이션의 OAuth 흐름과 유사합니다. OAuth 클라이언트 ID를 구성할 때는 다음 사항을 고려하세요.
    • 애플리케이션 유형데스크톱 앱이어야 합니다.
    • 클라이언트 ID를 만든 후 클라이언트 비밀을 JSON 형식으로 다운로드하고 파일 이름을 client_secrets.json로 지정합니다.
    • Data Portability API의 범위를 구성할 때 이 빠른 시작에서는 다음 리소스 그룹을 사용합니다.

Python 설정

이 빠른 시작에 사용된 스크립트를 실행하려면 로컬 머신에서 Python을 설정해야 합니다. Python을 설정하려면 다음 단계를 따르세요.

  • Pip 패키지 관리 도구와 Python 3.11 (이상)을 설치합니다.
  • Python용 Google API 클라이언트 라이브러리를 설치합니다.
  • 이 명령어를 실행하여 Python 클라이언트 라이브러리의 google_auth_oauthlib 패키지를 설치합니다. 이 패키지는 Python용 Google 인증 라이브러리인 google-authoauthlib 통합을 제공합니다.

    pip install google-auth-oauthlib google-api-python-client --upgrade

스크립트 실행

이 스크립트는 OAuth 흐름에서 localhost 리디렉션을 사용합니다. 이 옵션을 사용하려면 애플리케이션이 localhost 포트를 수신 대기한 후 시스템 브라우저를 열어 OAuth 승인 흐름을 시작해야 합니다.

이 링크를 클릭하여 스크립트를 열거나 링크를 마우스 오른쪽 버튼으로 클릭하여 스크립트 사본을 다운로드합니다.

Data Portability API Python 빠른 시작 스크립트

스크립트를 실행하고 전체 데이터 자료 모음을 내보내려면 다음 명령어를 입력합니다.

python3 data-portability-quickstart.py

다른 범위를 사용하려면 --resources를 사용하여 범위를 지정합니다. 예를 들면 다음과 같습니다.

python3 data-portability-quickstart.py --resources myactivity.shopping myactivity.play

시간 필터링을 적용하려면 start_timeend_time 플래그와 함께 동일한 스크립트를 사용합니다. 예를 들면 다음과 같습니다.

python3 data-portability-quickstart.py --start_time 2023-01-01T12:00:00Z --end_time 2024-01-01T12:00:00Z

스크립트에서 취하는 작업은 주석에 자세히 설명되어 있습니다.