Kirim Contoh Permintaan

Setelah menyiapkan semuanya, pastikan Anda berhasil mengirim sampel permintaan ke Search Ads 360 API. Contoh kode berikut menunjukkan cara kirim permintaan asinkron untuk daftar kampanye di bawah pengiklan Anda. Jika permintaan berhasil, Anda akan mendapatkan respons dari Search Ads 360 API yang menyatakan bahwa laporan telah dibuat tetapi belum siap (ini karena permintaan asinkron memerlukan permintaan tambahan untuk mengunduh laporan).

Anda harus menentukan token akses OAuth 2.0 dan ID agensi Anda sendiri di terhadap permintaan. Untuk menemukan ID agensi Anda:

  1. Buka UI Search Ads 360.
  2. ID agensi dan pengiklan Anda ditampilkan dalam URL, tepat setelah Awalan ay= dan av=. Contoh:
    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(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);
  }

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