使用 Python 指令碼呼叫 Data Portability API

在本快速入門課程中,您將為帳戶取得 OAuth 權杖,並使用 Python 指令碼將要求傳送至 Data Portability API 端點。

課程內容

在本快速入門導覽課程中,您將使用 Python 指令碼執行以下操作:

  • 提供有效的 OAuth 權杖,將經過驗證的要求傳送至 InitiatePortabilityArchive 端點。回應為有效的 job_id
  • 將已驗證的要求傳送至 GetPortabilityArchiveState 端點,然後下載資料。回應應包含有效的工作狀態,並在工作完成時提供已簽署的網址。
  • 儲存 OAuth 權杖,並設定時間限制,以便日後重複使用。
  • 將已驗證的要求傳送至 ResetAuthorization 端點。這項要求會撤銷所有使用者授予的 OAuth 範圍。
  • 提供有效的 OAuth 權杖,並搭配 start_timeend_time,將時間篩選器套用至要求,藉此向 InitiatePortabilityArchive 端點傳送經過驗證的要求。

必要條件

如要執行這個快速入門,您需要:

  • 確認您可以使用資料可攜權 API。如需支援國家/地區清單,請參閱「與第三方分享資料副本」頁面中的常見問題
  • 完成 Data Portability API 的設定步驟,並確認您使用的是新專案。
  • 取得貴機構擁有或控管的帳戶存取權。這個帳戶的搜尋活動資料會在本快速入門課程中匯出。

開始本快速入門課程前,您還需要為 Python 用戶端程式庫設定 OAuth、Python 和 OAuth 套件。

設定 OAuth

  • 請按照已安裝應用程式的設定步驟設定 OAuth。這個流程與網路伺服器應用程式的 OAuth 流程類似。設定 OAuth 用戶端 ID 時:
    • 應用程式類型應為「電腦版應用程式」
    • 建立用戶端 ID 後,請以 JSON 格式下載用戶端密鑰,並將檔案命名為 client_secrets.json
    • 為 Data Portability API 設定範圍時,請注意,本快速入門會使用以下資源群組:
      • myactivity.search:https://www.googleapis.com/auth/dataportability.myactivity.search
      • myactivity.youtube:https://www.googleapis.com/auth/dataportability.myactivity.youtube

設定 Python

您必須在本機電腦上設定 Python,才能執行本快速入門課程中使用的指令碼。如要設定 Python,請按照下列步驟操作:

  • 安裝 Pip 套件管理工具和 Python 3.11 (或更高版本)。
  • 安裝 Python 適用的 Google API 用戶端程式庫
  • 執行這項指令,安裝 Python 用戶端程式庫的 google_auth_oauthlib 套件。這個套件可將 oauthlibgoogle-auth 整合,google-auth 是 Python 專用的 Google 驗證程式庫。

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

執行指令碼

這個指令碼會在 OAuth 流程中使用本機重新導向。這個選項需要應用程式在本機主機通訊埠上監聽,然後開啟系統瀏覽器來啟動 OAuth 授權流程。

按一下這個連結即可開啟指令碼,或按一下連結右鍵下載指令碼的副本。

資料可攜權 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

註解中會詳細說明指令碼執行的動作。