Skip to content

OAuth Web Application Flow

Josh Radcliff edited this page Aug 2, 2018 · 5 revisions

This guide will walk you through how to setup OAuth2 for API access using your own credentials and the web 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.

IMPORTANT: The example below requires that you register the following as one of the Authorized redirect URIs in your project:

http://localhost/oauth2callback

Note the client ID and secret, then come back to this page.

Step 2 - Setting up the client library

  1. In a terminal, run the AuthenticateInWebApplication example, 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

    Run the AuthenticateInWebApplication.java example. The example may fail with an IllegalArgumentException if your IDE does not support using System.console. If the example fails, replace the INSERT_CLIENT_ID_HERE and INSERT_CLIENT_SECRET_HERE values 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.AuthenticateInWebApplication"
    
  2. 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. Log in with the same Google account you use to access AdWords. Click Allow on the OAuth2 consent screen.

    Consent screen allow

  3. You will be taken to a page with a message indicating that the authorization succeeded.

    Authorization code was successfully retrieved.

    Please check the console output from AuthenticateInWebApplication for further instructions.

  4. Return to the console where you are running the example. You'll see that the example completed and displayed 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=........................
    
  5. Copy the lines from the date comment # to the end of the output into your ads.properties file.

    Replace INSERT_DEVELOPER_TOKEN_HERE with your developer token.

    For the easiest setup, place the ads.properties file in your home directory.