This guide walks you through how to set up OAuth2 for API access using your own credentials and the desktop (installed) app flow. These steps only need to be done once, unless you revoke, delete, or need to change the allowed scopes for your OAuth2 credentials.
Step 1 - Creating OAuth2 credentials
Follow the steps to configure a Google API Console project for the Google Ads API, note the client ID and secret, then come back to this page.
Step 2 - Setting up the client library
In a terminal, run the
AuthenticateInDesktopApplicationexample, which will prompt you for your OAuth2 client ID and secret.
This is an interactive example, which will require you to provide input.
If using an IDE
AuthenticateInDesktopApplication.javaexample. The example may fail with an
IllegalArgumentExceptionif your IDE does not support using
System.console. If the example fails, replace the
INSERT_CLIENT_SECRET_HEREvalues in the example with the client ID and secret from the step above, then run the example again.
If using the command line:
$ mvn exec:java -Dexec.mainClass="com.google.ads.googleads.examples.authentication.AuthenticateInDesktopApplication"
The example will prompt you to visit a URL where you will need to allow the OAuth2 credentials to access your AdWords account on your behalf.
Paste this url in your browser: https://accounts.google.com/o/oauth2/auth?access_type=offline&client_id=****...
Navigate to the URL in a private browser session or an incognito window. Sign in with the same Google account you use to access AdWords. Click Allow on the OAuth2 consent screen.
An authorization code will be shown to you.
Copy and paste the verification code into the console where you're running the example and press enter. The example will complete and display your refresh token and some instructions, followed by the properties you'll need to configure the client library:
#Mon Apr 23 09:07:51 EDT 2018 api.googleads.refreshToken=1/Yw......................................... api.googleads.clientId=...........-...............apps.googleusercontent.com api.googleads.developerToken=INSERT_DEVELOPER_TOKEN_HERE api.googleads.clientSecret=........................
Copy the lines from the date comment
#to the end of the output into your
INSERT_DEVELOPER_TOKEN_HEREwith your developer token.
For the easiest setup, place the
ads.propertiesfile in your home directory.