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"
}

Untuk mengirim permintaan POST JSON mentah, Anda dapat menggunakan perintah sa360Api.py skrip sebagai berikut:

  1. Salin contoh objek JSON (semua yang ada di antara dan termasuk keduanya kurung kurawal) menjadi file teks baru bernama request.txt.
  2. Ubah ID agensi yang ada di kode JSON menjadi ID agensi Anda sendiri.
  3. Hapus semua komentar, seperti // The date column segments the report by individual days.
  4. Kumpulkan kredensial OAuth 2.0 Anda menjadi satu string yang dipisahkan koma sebagai berikut:
    client-ID,client-secret,refresh-token
    (Ini adalah string yang sama dengan yang dihasilkan sa360Api.py saat Anda menjalankan sa360Api.py --login seperti yang dijelaskan dalam Penyiapan Otorisasi.)
  5. Panggil sa360Api.py sebagai berikut:
    sa360Api.py --cred CREDENTIALS --server API-method --post < request.txt
    Pada perintah di atas, ganti string yang disusun pada langkah sebelumnya dengan CREDENTIALS.
    Ganti nama metode POST di kotak di bawah dengan API-method.

    Contoh:
    sa360Api.py --cred 123456789123.apps.googleusercontent.com,ABCDEFGHIJKLMNOPQR_abcdef,1/HIJklM01OPQR23NOP456rst890uvw --server https://www.googleapis.com/doubleclicksearch/v2/reports/generate --post < request.txt

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