OAuth Desktop and Web Application Flows

This guide walks you through how to set up OAuth2 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 OAuth2 credentials.

Create OAuth2 credentials

  1. Follow the steps to configure a Google API Console project for the Google Ads API.

  2. Download the client secrets JSON file and put it in an accessible location from your code.

Set up the client library

  1. In your google_ads_config.rb file, insert your client ID and secret, which can be found in the JSON file downloaded above.

    c.client_id = INSERT_OAUTH2_CLIENT_ID_HERE
    c.client_secret = INSERT_OAUTH2_CLIENT_SECRET_HERE
    
  2. In a terminal, run the OAuth2 example:

    ruby generate_user_credentials.rb -P /path/to/client_secrets.json
    
  3. The example prompts you to visit a URL where you'll need to allow the OAuth2 credentials 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 same Google account you use to access Google Ads. Click Continue on the OAuth2 consent screen.

    Consent screen

  4. You are then taken to a page with a message indicating the authorization succeeded.

  5. Return to the console where you were running the example. The example should have completed and be displaying your refresh token. Copy your refresh token into your google_ads_config.rb file.