API access using own credentials (installed application flow)

Thanet Knack Praneenararat edited this page Aug 31, 2018 · 9 revisions

This guide will walk you through how to setup OAuth2 for API access using your own credentials using installed 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 for the product you're using to generate a client ID and secret, then come back to this page.

Step 2 - Setting up the client library

  1. Get GetRefreshToken.php from the example directory by following this section.

  2. In a terminal, navigate to GetRefreshToken.php.

  3. Run this file via the command line.

    This is an interactive example, which will require you to provide input. It will not run properly in a web browser.

    $ php GetRefreshToken.php
    Enter your OAuth2 client ID here: ****
    Enter your OAuth2 client secret here: ****
    Select the ads API you're using: [0] AdWords [1] AdManager [2] Both
    [OPTIONAL] enter any additional OAuth2 scopes as a space delimited string here (the AdWords scope is already included):
    Log into the Google account you use for Google Ads and visit the following URL:
  4. The file will prompt you to visit a URL where you will need to allow the OAuth2 credentials to access your Google account on your behalf. 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 or Ad Manager. Click Allow on the OAuth2 consent screen.

    Consent screen allow

  5. An authorization code will be shown to you. Copy and paste the verification code into the command line where you're running the GetRefreshToken.php example and press enter. The example should complete and display an offline refresh token.

    Authorization code

    After approving the token enter the authorization code here: ****
    Your refresh token is: ****
    Copy the following lines to your 'adsapi_php.ini' file:
    clientId = "****"
    clientSecret = "****"
    refreshToken = "****"
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.