This guide walks you through how to set up OAuth 2.0 for API access using your own credentials and either the desktop flow or the web flow. These steps only need to be done once, unless you revoke, delete, or need to change the allowed scopes for your OAuth 2.0 credentials.
Create OAuth 2.0 credentials
Follow the steps to configure a Google API Console project for the Google Ads API.
Note the client ID and client secret, then come back to this page.
Set up the client library
-
In a terminal, run the
generate_user_credentials.pl
example. You can either modify theINSERT_XXX_HERE
values in the example before running or use the command-line arguments-client_id
for client ID and-client_secret
for client secret.perl generate_user_credentials.pl -client_id {client_id} -client_secret {client_secret}
-
This code example prompts you to visit a URL where you must authorize the app to access your Google Ads account on your behalf.
Paste this url in your browser: https://accounts.google.com/o/oauth2/v2/auth?response_type=code&access_type=offline&client_id=...
Navigate to the URL in a private browser session or an incognito window. Sign in with the Google Account you use to access Google Ads. Usually, this is a login email to a Google Ads manager account that contains all the accounts you need to manage under its account hierarchy. Click Continue on the OAuth 2.0 consent screen.
You'll be taken to a page with a message indicating that the authorization succeeded.
Authorization code was successfully retrieved.
-
Return to the console where you're running the code example. You'll see that the code example has completed and is displaying your refresh token and some instructions, followed by the instructions you'll need to follow to configure the client library:
Replace the following keys and values in your googleads.properties configuration file: clientId==***********************apps.googleusercontent.com clientSecret=**** refreshToken=****
-
Press
Ctrl + C
to terminate the process. Then copy the generated refresh token along with the client ID and client secret into yourgoogleads.properties
file or save it somewhere else to use if instantiating the library at runtime.