This is the legacy documentation for Google Ads scripts. Go to the current docs.

DoubleClick Search

Stay organized with collections Save and categorize content based on your preferences.

Retrieve account's list of agency and advertiser IDs

/**
 * Retrieves a list of all the agency and advertiser IDs that the Google Account
 * has permission to view.
 * See: https://developers.google.com/google-ads/scripts-legacy/docs/features/third-party-apis#refresh_token_grant
 * for details on configuring this script.
 *
 * NOTE: This script also requires the OAuth2 library to be pasted at the end,
 * as obtained from https://developers.google.com/google-ads/scripts-legacy/docs/examples/oauth20-library
 */
var CLIENT_ID = 'INSERT_CLIENT_ID';
var CLIENT_SECRET = 'INSERT_CLIENT_SECRET';
var REFRESH_TOKEN = 'INSERT_REFRESH_TOKEN';

var authUrlFetch;

// Call this function just once, to initialize the OAuth client.
function initializeOAuthClient() {
  if (typeof OAuth2 === 'undefined') {
    var libUrl = 'https://developers.google.com/google-ads/scripts-legacy/docs/examples/oauth20-library';
    throw Error('OAuth2 library not found. Please take a copy of the OAuth2 ' +
        'library from ' + libUrl + ' and append to the bottom of this script.');
  }
  var tokenUrl = 'https://accounts.google.com/o/oauth2/token';
  var scope = 'https://www.googleapis.com/auth/doubleclicksearch';

  authUrlFetch = OAuth2.withRefreshToken(
      tokenUrl, CLIENT_ID, CLIENT_SECRET, REFRESH_TOKEN, scope);
}

// An example DS request - taken from
// https://developers.google.com/doubleclick-search/v2/how-tos/reporting/faq
var body = {
  reportType: 'advertiser',
  columns: [
    {columnName: 'agency'}, {columnName: 'agencyId'},
    {columnName: 'advertiser'}, {columnName: 'advertiserId'}
  ],
  statisticsCurrency: 'usd'
};

// Request an Advertiser report and return the resulting report object.
function generateDoubleClickAdvertiserReport() {
  var url = 'https://www.googleapis.com/doubleclicksearch/v2/reports/generate';
  var options = {
    method: 'POST',
    contentType: 'application/json',
    payload: JSON.stringify(body)
  };
  var response = authUrlFetch.fetch(url, options);

  // For now, just log the generated report response.
  return JSON.parse(response.getContentText());
}

// Paste in OAuth2 library here, from:
// https://developers.google.com/google-ads/scripts-legacy/docs/examples/oauth20-library