使用 Python 脚本调用 Data Portability API
使用集合让一切井井有条
根据您的偏好保存内容并对其进行分类。
在本快速入门中,您将为自己的账号获取 OAuth 令牌,并使用 Python 脚本向 Data Portability API 端点发送请求。
学习内容
在本快速入门中,您将使用 Python 脚本执行以下操作:
- 提供有效的 OAuth 令牌,向
InitiatePortabilityArchive
端点发送经过身份验证的请求。响应为有效的 job_id
。
- 向
GetPortabilityArchiveState
端点发送经过身份验证的请求并下载数据。响应应包含有效的作业状态,并且在作业完成时,还应包含已签名的网址。
- 存储具有基于时间的访问权限的 OAuth 令牌,以供日后重复使用。
- 向
ResetAuthorization
端点发送经过身份验证的请求。此请求会撤消所有用户授予的 OAuth 授权范围。
- 通过提供有效的 OAuth 令牌以及
start_time
或 end_time
向 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,请执行以下操作:
运行脚本
此脚本在 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_time
和 end_time
标志的同一脚本。例如:
python3 data-portability-quickstart.py --start_time 2023-01-01T12:00:00Z --end_time 2024-01-01T12:00:00Z
脚本执行的操作详见注释。
如未另行说明,那么本页面中的内容已根据知识共享署名 4.0 许可获得了许可,并且代码示例已根据 Apache 2.0 许可获得了许可。有关详情,请参阅 Google 开发者网站政策。Java 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2025-07-25。
[null,null,["最后更新时间 (UTC):2025-07-25。"],[[["\u003cp\u003eThis quickstart guides you through using a Python script to interact with the Google Data Portability API for exporting user data.\u003c/p\u003e\n"],["\u003cp\u003eYou will learn to authenticate requests, initiate data archive creation, check the archive status, download data, and reset authorization.\u003c/p\u003e\n"],["\u003cp\u003eBefore starting, ensure the API is available in your region, complete setup steps including OAuth configuration for a desktop application, and install the necessary Python packages.\u003c/p\u003e\n"],["\u003cp\u003eThe provided Python script uses a localhost redirect for the OAuth flow, and detailed instructions are given for running it.\u003c/p\u003e\n"]]],[],null,["# Call the Data Portability API Using a Python Script\n\nIn this quickstart, you obtain an OAuth token for your account, and you send\nrequests to the Data Portability API endpoints using a Python script.\n\nWhat you learn\n--------------\n\nIn this quickstart you use a Python script to:\n\n- Send an authenticated request to the `InitiatePortabilityArchive` endpoint by providing a valid OAuth token. The response is a valid `job_id`.\n- Send an authenticated request to the `GetPortabilityArchiveState` endpoint and download the data. The response should contain a valid job state, and when the job is complete, a signed URL.\n- Store OAuth token with time-based access for later reuse.\n- Send an authenticated request to the `ResetAuthorization` endpoint. This request revokes all user-granted OAuth scopes.\n- Send an authenticated request to the `InitiatePortabilityArchive` endpoint by providing a valid OAuth token along with `start_time` or `end_time` to apply a time filter to your request.\n\nPrerequisites\n-------------\n\nTo run this quickstart, you need to:\n\n- Verify that the Data Portability API is available to you. For a list of supported countries and regions, see [Common Questions](https://support.google.com/accounts/answer/14452558) on the \"Share a copy of your data with a third party\" page.\n- Complete the [setup steps](/data-portability/user-guide/setup) for the Data Portability API, and verify that you're using a new project.\n- Obtain access to an account owned or controlled by your organization. This account's search activity data is exported in this quickstart.\n\nBefore you begin this quickstart, you also need to set up OAuth, Python, and the\nOAuth package for the Python client libraries.\n\n### Set up OAuth\n\n- Follow the steps to configure OAuth for [installed applications](https://googleapis.github.io/google-api-python-client/docs/oauth-installed.html). This flow is similar to the OAuth flow for [web server applications](/identity/protocols/oauth2/web-server). When you configure your OAuth client ID:\n - The **Application type** should be **Desktop app**.\n - After you create the client ID, download the client secret in JSON format, and name the file: `client_secrets.json`.\n - When you [configure scopes](/data-portability/user-guide/configure-oauth) for the Data Portability API, note that this quickstart uses these resource groups:\n - [`myactivity.search`](/data-portability/schema-reference/my_activity): https://www.googleapis.com/auth/dataportability.myactivity.search\n - [`myactivity.youtube`](/data-portability/schema-reference/my_activity): https://www.googleapis.com/auth/dataportability.myactivity.youtube\n\n### Set up Python\n\nYou need to set up Python on your local machine to run the script used in this\nquickstart. To setup Python:\n\n- Install the [Pip](https://pypi.org/project/pip/) package management tool and [Python 3.11](https://www.python.org/downloads/) (or higher).\n- Install the [Google API Client Library for Python](https://github.com/googleapis/google-api-python-client/blob/main/docs/start.md).\n- Install the `google_auth_oauthlib` package for the Python client library by\n running this command. This package provides [oauthlib](https://oauthlib.readthedocs.io/) integration\n with `google-auth`---the Google authentication library for Python.\n\n pip install google-auth-oauthlib google-api-python-client --upgrade\n\nRun the script\n--------------\n\nThis script uses a localhost redirect in the OAuth flow. This option requires\nthe application to listen on a localhost port, and then open the system browser\nto initiate the OAuth authorization flow.\n\nClick this link to open the script, or download a copy of the script by\nright-clicking the link.\n\n[Data Portability API Python quickstart script](/static/data-portability/user-guide/data-portability-quickstart.py)\n\nTo run the script and export the full data corpus, enter this command: \n\n python3 data-portability-quickstart.py\n\nTo use different scopes, specify them using `--resources`, for example: \n\n python3 data-portability-quickstart.py --resources myactivity.shopping myactivity.play\n\nTo apply [time filtering](/data-portability/user-guide/time-filter), use the same script with `start_time`\nand `end_time` flags. For example: \n\n python3 data-portability-quickstart.py --start_time 2023-01-01T12:00:00Z --end_time 2024-01-01T12:00:00Z\n\nThe actions taken by the script are detailed in the comments."]]