Page Summary
-
This script retrieves a list of agency and advertiser IDs accessible to a Google Account.
-
It requires configuring with your client ID, client secret, and refresh token, and also depends on the OAuth2 library.
-
The
initializeOAuthClientfunction sets up the OAuth client using the provided credentials and scope. -
The
generateSearchAds360AdvertiserReportfunction makes a request to the Search Ads 360 API to generate a report containing agency and advertiser information.
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 / 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 / docs / examples / oauth20 - library */ const CLIENT_ID = 'INSERT_CLIENT_ID' ; const CLIENT_SECRET = 'INSERT_CLIENT_SECRET' ; const REFRESH_TOKEN = 'INSERT_REFRESH_TOKEN' ; let authUrlFetch ; // Call this function just once , to initialize the OAuth client . function initializeOAuthClient () { if ( typeof OAuth2 === 'undefined' ) { const libUrl = 'https://developers.google.com/google-ads/scripts/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.' ); } const tokenUrl = 'https://accounts.google.com/o/oauth2/token' ; const 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 / search - ads / v2 / how - tos / reporting / faq const 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 generateSearchAds360AdvertiserReport () { const url = 'https://www.googleapis.com/doubleclicksearch/v2/reports/generate' ; const options = { method : 'POST' , contentType : 'application/json' , payload : JSON . stringify ( body ) }; const 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 / docs / examples / oauth20 - library

