In this quickstart, you obtain an OAuth token for your account, and you send requests to the Data Portability API endpoints using a Python script.
What you learn
In this quickstart you use a Python script to:
- Send an authenticated request to the
InitiatePortabilityArchive
endpoint by providing a valid OAuth token. The response is a validjob_id
. - 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. - Send an authenticated request to the
ResetAuthorization
endpoint. This request revokes all user-granted OAuth scopes.
Prerequisites
To run this quickstart, you need to:
- Verify that the Data Portability API is available to you. For a list of supported countries and regions, see Common Questions on the "Share a copy of your data with a third party" page.
- Complete the setup steps for the Data Portability API, and verify that you're using a new project.
- Obtain access to an account owned or controlled by your organization. This account's search activity data is exported in this quickstart.
Before you begin this quickstart, you also need to set up OAuth, Python, and the OAuth package for the Python client libraries.
Set up OAuth
- Follow the steps to configure OAuth for
installed applications. This flow is similar to
the OAuth flow for web server applications. When you
configure your OAuth client ID:
- The Application type should be Desktop app.
- After you create the client ID, download the client secret in JSON
format, and name the file:
client_secrets.json
. - When you configure scopes for the Data Portability API, note
that this quickstart uses these resource groups:
myactivity.search
: https://www.googleapis.com/auth/dataportability.myactivity.searchmyactivity.youtube
: https://www.googleapis.com/auth/dataportability.myactivity.youtube
Set up Python
You need to set up Python on your local machine to run the script used in this quickstart. To setup Python:
- Install the Pip package management tool and Python 3.9 (or higher).
- Install the Google API Client Library for Python.
Install the
google_auth_oauthlib
package for the Python client library by running this command. This package provides oauthlib integration withgoogle-auth
—the Google authentication library for Python.pip install google-auth-oauthlib google-api-python-client --upgrade
Run the script
This script uses a localhost redirect in the OAuth flow. This option requires the application to listen on a localhost port, and then open the system browser to initiate the OAuth authorization flow.
Click this link to open the script, or download a copy of the script by right-clicking the link.
Data Portability API Python quickstart script
To run the script, enter this command:
python3 data-portability-quickstart.py
The actions taken by the script are detailed in the comments.