یک نمونه درخواست ارسال کنید

بعد از اینکه همه چیز را تنظیم کردید، مطمئن شوید که می‌توانید با موفقیت یک درخواست نمونه را به Search Ads 360 API ارسال کنید. نمونه کد زیر نحوه ارسال یک درخواست ناهمزمان را برای لیست کمپین های تحت تبلیغ خود نشان می دهد. اگر درخواست موفقیت آمیز باشد، پاسخی از Search Ads 360 API دریافت خواهید کرد که می گوید گزارش ایجاد شده است اما آماده نیست (به این دلیل است که درخواست های ناهمزمان به درخواست های اضافی برای بارگیری واقعی گزارش نیاز دارند).

باید رمز دسترسی OAuth 2.0 و شناسه آژانس خود را در درخواست مشخص کنید. برای پیدا کردن شناسه آژانس:

  1. از رابط کاربری Search Ads 360 بازدید کنید.
  2. شناسه آژانس و آگهی‌دهنده شما در URL، درست بعد از پیشوند ay= و av= نمایش داده می‌شوند. به عنوان مثال:
    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"
}

برای ارسال درخواست خام JSON POST، می توانید از اسکریپت sa360Api.py به صورت زیر استفاده کنید:

  1. مثال شی JSON (همه چیز بین و شامل دو براکت فرفری) را در یک فایل متنی جدید به نام request.txt کپی کنید.
  2. شناسه نمایندگی موجود در کد JSON را به شناسه نمایندگی خود تغییر دهید.
  3. هر نظری را حذف کنید، مانند // The date column segments the report by individual days.
  4. اعتبارنامه OAuth 2.0 خود را به صورت زیر در یک رشته مجزا با کاما جمع کنید:
    client-ID,client-secret,refresh-token
    (این همان رشته ای است که sa360Api.py هنگام اجرای sa360Api.py --login همانطور که در Set Up Authorization توضیح داده شده است، خروجی می دهد.)
  5. sa360Api.py به صورت زیر فراخوانی کنید:
    sa360Api.py --cred CREDENTIALS --server API-method --post < request.txt
    در دستور بالا، رشته ای را که در مرحله قبل مونتاژ کردید با CREDENTIALS جایگزین کنید.
    نام متد POST را در کادر زیر با API-method جایگزین کنید.

    به عنوان مثال:
    sa360Api.py --cred 123456789123.apps.googleusercontent.com,ABCDEFGHIJKLMNOPQR_abcdef,1/HIJklM01OPQR23NOP456rst890uvw --server https://www.googleapis.com/doubleclicksearch/v2/reports/generate --post < request.txt

جاوا

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(20100000000000895L) // Replace with your ID
       
.setAdvertiserId(21700000000011523L)) // 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);
 
}

دات نت

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

پایتون

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())