使用 Python 脚本调用 Data Portability API

在本快速入门中,您将为自己的账号获取 OAuth 令牌,并使用 Python 脚本向 Data Portability API 端点发送请求。

学习内容

在本快速入门中,您将使用 Python 脚本执行以下操作:

  • 提供有效的 OAuth 令牌,向 InitiatePortabilityArchive 端点发送经过身份验证的请求。响应为有效的 job_id
  • GetPortabilityArchiveState 端点发送经过身份验证的请求并下载数据。响应应包含有效的作业状态,并且在作业完成时,还应包含已签名的网址。
  • 存储具有基于时间的访问权限的 OAuth 令牌,以供日后重复使用。
  • ResetAuthorization 端点发送经过身份验证的请求。此请求会撤消所有用户授予的 OAuth 授权范围。
  • 通过提供有效的 OAuth 令牌以及 start_timeend_timeInitiatePortabilityArchive 端点发送经过身份验证的请求,以便对请求应用时间过滤条件。

前提条件

如需运行本快速入门,您需要满足以下条件:

  • 验证您是否可以使用 Data Portability 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(适用于 Python 的 Google 身份验证库)集成。

    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

脚本执行的操作详见注释。