Send feedback
OAuth Service Account Flow
Stay organized with collections
Save and categorize content based on your preferences.
This guide will walk you through how to set up OAuth2 for API access using your
own credentials with service accounts .
These steps only need to be done once, unless you revoke or delete your OAuth2
credentials.
Create OAuth2 credentials
Note: This flow requires a Google Workspace domain
and a service account that was granted domain-wide delegation access by a super
administrator for the domain.
Generate a service account ID and a *.JSON
file by
following the linked instructions, then come back to this page.
Add a private key JSON and an impersonated email to configuration
Set the private key JSON file path and impersonated email in your configuration.
If you're using a google-ads.yaml
file, YAML string, or dict
, add the
following:
json_key_file_path: JSON_KEY_FILE_PATH
impersonated_email: IMPERSONATED_EMAIL
If you're using environment variables, add the following to your bash
configuration or environment:
export GOOGLE_ADS_JSON_KEY_FILE_PATH = JSON_KEY_FILE_PATH
export GOOGLE_ADS_IMPERSONATED_EMAIL = IMPERSONATED_EMAIL
Note: When reading in the configuration, the library first looks for credentials
for the OAuth2 desktop or web app flows, and will use them if found. So if you
want to use a Service Account authentication, make sure credentials for the
other flows are not present in your configuration.
Send feedback
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License , and code samples are licensed under the Apache 2.0 License . For details, see the Google Developers Site Policies . Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2024-08-13 UTC.
[{
"type": "thumb-down",
"id": "missingTheInformationINeed",
"label":"Missing the information I need"
},{
"type": "thumb-down",
"id": "tooComplicatedTooManySteps",
"label":"Too complicated / too many steps"
},{
"type": "thumb-down",
"id": "outOfDate",
"label":"Out of date"
},{
"type": "thumb-down",
"id": "samplesCodeIssue",
"label":"Samples / code issue"
},{
"type": "thumb-down",
"id": "otherDown",
"label":"Other"
}]
[{
"type": "thumb-up",
"id": "easyToUnderstand",
"label":"Easy to understand"
},{
"type": "thumb-up",
"id": "solvedMyProblem",
"label":"Solved my problem"
},{
"type": "thumb-up",
"id": "otherUp",
"label":"Other"
}]
Need to tell us more?
{"lastModified": "Last updated 2024-08-13 UTC."}
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2024-08-13 UTC."]]