Send a Sample Request

After you've set everything up, make sure you can successfully send a sample request to the Search Ads 360 API. The following code sample demonstrates how to send an asynchronous request for the list of campaigns under your advertiser. If the request is successful, you'll get a response from the Search Ads 360 API saying that the report is created but not ready (this is because asynchronous requests require additional requests to actually download a report).

You'll need to specify your own OAuth 2.0 access token and your own agency ID in the request. To find your agency ID:

  1. Visit the Search Ads 360 UI .
  2. Your agency and advertiser IDs are displayed in the URL, just after the ay= and av= prefix. For example:
    https://searchads.google.com/ds/cm/cm/cm/cm#campaigns.ay= 123456789012345678;av= 123456789012345678;

JSON

 POST 
  
 https 
 : 
 // 
 www 
 . 
 googleapis 
 . 
 com 
 / 
 doubleclicksearch 
 / 
 v2 
 / 
 reports 
 Authorization 
 : 
  
 Bearer 
  
  your 
  
 OAuth 
  
 2.0 
  
 access 
  
 token 
 
 Content 
 - 
 type 
 : 
  
 application 
 / 
 json 
 { 
  
 "reportScope" 
 : 
  
 { 
  
 "agencyId" 
 : 
  
 " your agency ID 
" 
 , 
  
 "advertiserId" 
 : 
  
 " your advertiser ID 
" 
  
 }, 
  
 "reportType" 
 : 
  
 "campaign" 
 , 
  
 "columns" 
 : 
  
 [ 
  
 { 
  
 "columnName" 
 : 
  
 "campaignId" 
  
 }, 
  
 { 
  
 "columnName" 
 : 
  
 "campaign" 
  
 } 
  
 ], 
  
 "downloadFormat" 
 : 
  
 "csv" 
 , 
  
 "maxRowsPerFile" 
 : 
  
 6000000 
 , 
  
 "statisticsCurrency" 
 : 
  
 "agency" 
 } 

Java

 import 
  
 com.google.api.client.googleapis.json.GoogleJsonError.ErrorInfo 
 ; 
 import 
  
 com.google.api.client.googleapis.json.GoogleJsonResponseException 
 ; 
 import 
  
 com.google.api.services.doubleclicksearch.Doubleclicksearch 
 ; 
 import 
  
 com.google.api.services.doubleclicksearch.model.ReportApiColumnSpec 
 ; 
 import 
  
 com.google.api.services.doubleclicksearch.model.ReportRequest 
 ; 
 import 
  
 com.google.api.services.doubleclicksearch.model.ReportRequest.ReportScope 
 ; 
 import 
  
 com.google.api.services.doubleclicksearch.model.ReportRequest.TimeRange 
 ; 
 import 
  
 java.io.IOException 
 ; 
 import 
  
 java.util.Arrays 
 ; 
 /** 
 * 
 Creates 
 a 
 campaign 
 report 
 request 
 , 
 submits 
 the 
 report 
 , 
 and 
 returns 
 the 
 report 
 ID 
 . 
 */ 
 private 
 static 
 String 
 createReport 
 ( 
 Doubleclicksearch 
 service 
 ) 
 throws 
 IOException 
 { 
 try 
 { 
 return 
 service 
 . 
 reports 
 () 
 . 
 request 
 ( 
 createSampleRequest 
 ()) 
 . 
 execute 
 () 
 . 
 getId 
 (); 
 } 
 catch 
 ( 
 GoogleJsonResponseException 
 e 
 ) 
 { 
 System 
 . 
 err 
 . 
 println 
 ( 
 "Report request was rejected." 
 ); 
 for 
 ( 
 ErrorInfo 
 error 
 : 
 e 
 . 
 getDetails 
 () 
 . 
 getErrors 
 ()) 
 { 
 System 
 . 
 err 
 . 
 println 
 ( 
 error 
 . 
 getMessage 
 ()); 
 } 
 System 
 . 
 exit 
 ( 
 e 
 . 
 getStatusCode 
 ()); 
 return 
 null 
 ; 
 // 
 Unreachable 
 code 
 . 
 } 
 } 
 /** 
 * 
 Returns 
 a 
 simple 
 static 
 request 
 that 
 lists 
 the 
 ID 
 and 
 name 
 of 
 all 
 * 
 campaigns 
 under 
 agency 
 20100000000000895 
 and 
 advertiser 
 21700000000011523. 
 * 
 Substitute 
 your 
 own 
 agency 
 ID 
 and 
 advertiser 
 IDs 
 for 
 the 
 IDs 
 in 
 this 
 sample 
 . 
 */ 
 private 
 static 
 ReportRequest 
 createSampleRequest 
 () 
 { 
 return 
 new 
 ReportRequest 
 () 
 . 
 setReportScope 
 ( 
 new 
 ReportScope 
 () 
 . 
 setAgencyId 
 ( 
 20100000000000895 
 L 
 ) 
 // 
 Replace 
 with 
 your 
 ID 
 . 
 setAdvertiserId 
 ( 
 21700000000011523 
 L 
 )) 
 // 
 Replace 
 with 
 your 
 ID 
 . 
 setReportType 
 ( 
 "campaign" 
 ) 
 . 
 setColumns 
 ( 
 Arrays 
 . 
 asList 
 ( 
 new 
 ReportApiColumnSpec 
 [] 
 { 
 new 
 ReportApiColumnSpec 
 () 
 . 
 setColumnName 
 ( 
 "campaignId" 
 ), 
 new 
 ReportApiColumnSpec 
 () 
 . 
 setColumnName 
 ( 
 "campaign" 
 ) 
 })) 
 . 
 setTimeRange 
 ( 
 new 
 TimeRange 
 () 
 . 
 setStartDate 
 ( 
 "2014-05-01" 
 ) 
 . 
 setEndDate 
 ( 
 "2014-05-01" 
 )) 
 . 
 setDownloadFormat 
 ( 
 "csv" 
 ) 
 . 
 setStatisticsCurrency 
 ( 
 "usd" 
 ) 
 . 
 setMaxRowsPerFile 
 ( 
 5000000 
 ); 
 } 

.NET

 using 
  
 System 
 ; 
 using 
  
 System 
 . 
 Collections 
 . 
 Generic 
 ; 
 using 
  
 System 
 . 
 IO 
 ; 
 using 
  
 System 
 . 
 Threading 
 ; 
 using 
  
 Google 
 . 
 Apis 
 . 
 Auth 
 . 
 OAuth2 
 ; 
 using 
  
 Google 
 . 
 Apis 
 . 
 Auth 
 . 
 OAuth2 
 . 
 Flows 
 ; 
 using 
  
 api 
  
 = 
  
 Google 
 . 
 Apis 
 . 
 Doubleclicksearch 
 . 
 v2 
 ; 
 /// 
  
< summary 
> /// 
  
 Creates 
  
 a 
  
 campaign 
  
 report 
  
 request 
 , 
  
 submits 
  
 the 
  
 report 
 , 
  
 and 
  
 returns 
  
 the 
  
 report 
  
 ID 
 . 
 /// 
  
< / 
 summary 
> /// 
  
< param 
  
 name 
 = 
 "service" 
> Search 
  
 Ads 
  
 API 
  
 service 
 .</ 
 param 
> private 
  
 static 
  
 string 
  
 CreateReport 
 ( 
 api 
 . 
 DoubleclicksearchService 
  
 service 
 ) 
 { 
  
 var 
  
 req 
  
 = 
  
 service 
 . 
 Reports 
 . 
 Request 
 ( 
 CreateSampleRequest 
 ()); 
  
 var 
  
 report 
  
 = 
  
 req 
 . 
 Execute 
 (); 
  
 Console 
 . 
 WriteLine 
 ( 
 "Created report: ID={0}" 
 , 
  
 report 
 . 
 Id 
 ); 
  
 return 
  
 report 
 . 
 Id 
 ; 
 } 
 /// 
  
< summary 
> /// 
  
 Returns 
  
 a 
  
 simple 
  
 static 
  
 request 
  
 that 
  
 lists 
  
 the 
  
 ID 
  
 and 
  
 name 
  
 of 
  
 all 
 /// 
  
 campaigns 
  
 under 
  
 agency 
  
 20100000000000895 
  
 and 
  
 advertiser 
  
 21700000000011523. 
 /// 
  
 Substitute 
  
 your 
  
 own 
  
 agency 
  
 ID 
  
 and 
  
 advertiser 
  
 IDs 
  
 for 
  
 the 
  
 IDs 
  
 in 
  
 this 
  
 sample 
 . 
 /// 
  
< / 
 summary 
> private 
  
 static 
  
 api 
 . 
 Data 
 . 
 ReportRequest 
  
 CreateSampleRequest 
 () 
 { 
  
 return 
  
 new 
  
 api 
 . 
 Data 
 . 
 ReportRequest 
  
 { 
  
 ReportScope 
  
 = 
  
 new 
  
 api 
 . 
 Data 
 . 
 ReportRequest 
 . 
 ReportScopeData 
  
 { 
  
 AgencyId 
  
 = 
  
 20100000000000895 
 , 
  
 AdvertiserId 
  
 = 
  
 21700000000011523 
 , 
  
 }, 
  
 ReportType 
  
 = 
  
 "campaign" 
 , 
  
 Columns 
  
 = 
  
 new 
  
 List 
 < 
 api 
 . 
 Data 
 . 
 ReportRequest 
 . 
 ColumnsData 
 > 
  
 { 
  
 new 
  
 api 
 . 
 Data 
 . 
 ReportRequest 
 . 
 ColumnsData 
  
 { 
  
 ColumnName 
  
 = 
  
 "campaignId" 
 , 
  
 }, 
  
 new 
  
 api 
 . 
 Data 
 . 
 ReportRequest 
 . 
 ColumnsData 
  
 { 
  
 ColumnName 
  
 = 
  
 "campaign" 
 , 
  
 }, 
  
 }, 
  
 TimeRange 
  
 = 
  
 new 
  
 api 
 . 
 Data 
 . 
 ReportRequest 
 . 
 TimeRangeData 
  
 { 
  
 StartDate 
  
 = 
  
 "2014-01-01" 
 , 
  
 EndDate 
  
 = 
  
 "2014-01-31" 
 , 
  
 }, 
  
 DownloadFormat 
  
 = 
  
 "csv" 
 , 
  
 StatisticsCurrency 
  
 = 
  
 "usd" 
 , 
  
 MaxRowsPerFile 
  
 = 
  
 5000000 
 , 
  
 }; 
 } 

Python

 def 
  
 generate_report 
 ( 
 service 
 ): 
  
 """Generate and print sample report. 
 Args: 
 service: An authorized Doubleclicksearch service. See Set Up Your Application 
. 
 """ 
  
 request 
  
 = 
  
 service 
 . 
 reports 
 () 
 . 
 request 
 ( 
  
 body 
  
 = 
  
 { 
  
 "reportScope" 
 : 
  
 { 
  
 "agencyId" 
 : 
  
 " your agency ID 
" 
 , 
  
 "advertiserId" 
 : 
  
 " your advertiser ID 
" 
  
 }, 
  
 "reportType" 
 : 
  
 "campaign" 
 , 
  
 "columns" 
 : 
  
 [ 
  
 { 
  
 "columnName" 
 : 
  
 "campaignId" 
  
 }, 
  
 { 
  
 "columnName" 
 : 
  
 "campaign" 
  
 } 
  
 ], 
  
 "downloadFormat" 
 : 
  
 "csv" 
 , 
  
 "maxRowsPerFile" 
 : 
  
 6000000 
 , 
  
 "statisticsCurrency" 
 : 
  
 "agency" 
  
 } 
  
 ) 
  
 pprint 
 . 
 pprint 
 ( 
 request 
 . 
 execute 
 ()) 
Design a Mobile Site
View Site in Mobile | Classic
Share by: