OAuth Web Application Flow

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

  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.

    $ php AuthenticateInWebApplication.php
  2. The example will prompt you to visit a URL where you will need to allow the OAuth2 credentials to access your Google Ads account on your behalf.

    Log into the Google account you use for Google Ads and visit the following URL:

    Navigate to the URL in a private browser session or an incognito window. Log in with the same Google account you use to access Google Ads. 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.

    Your refresh token has been fetched. Check the console output 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:

    Your refresh token is: 1/Yw**********
    Copy the text below into a file named "google_ads_php.ini" in your home directory, and replace "INSERT_DEVELOPER_TOKEN_HERE" with your developer token:
    developerToken = "INSERT_DEVELOPER_TOKEN_HERE"
    Copy the following lines to your 'google_ads_php.ini' file:
    clientId = "***********************apps.googleusercontent.com"
    clientSecret = "****"
    refreshToken = "****"