Planlanmış Raporlar Oluşturma ve Raporlara Erişme

Google Display &Video 360'taki Google Görüntülü Reklam Ağı Video 360 kullanıcı arayüzü veya API'ye gidin. Örneğin, son kullanıcılar bir önceki günün gösterim sayısı veya toplam harcamayı gösteren aylık bir rapor

Planlanmış Raporlar Oluşturma

Display &Video 360'ta yeni bir planlanmış rapor oluşturun Video 360 raporlama arayüzü veya queries.create API yöntemiyle. Tüm ayrıntılar için: Görüntülü Reklam ve Video 360'ın raporlama işlevi ve yeni raporların nasıl oluşturulacağı: Görüntülü Reklam Ağı ve Video 360 destek sitesi.

Raporlar, oluşturma işlemi sırasında kullanıcı arayüzündeki Repeats alanı ve schedule alanına eklenir. Bu alanlar uygun bir zaman aralığı belirleyin.

Uygun alan ayarlandıktan sonra, bu rapor belirtilen plana göre çalıştırılır ve oluşturulan raporlar indirilebilir hale gelir.

Planlanmış Raporlara Erişme

Planlanmış raporlar, basit CSV dosyaları olarak oluşturulur ve otomatik olarak depolanır ve güvenli bir şekilde Google Cloud Storage'da bulabilirsiniz. Ancak Bu dosyaları doğrudan içeren Google Cloud Storage paketleri. Bunun yerine dosyalar Display &Video 360'tan veya Video 360 kullanıcı arayüzü veya alındı önceden yetkilendirilmiş URL'leri kullanarak programatik şekilde API.

Rapor dosyası indirmek için API'yı kullanma örneği aşağıda sağlanmıştır. Burada Örneğin, queries.reports.list En son raporu almak için orderBy parametresi girin. Ardından Report.reportMetadata.googleCloudStoragePath alanı Rapor dosyasını bulmak ve içeriğini yerel bir CSV dosyasına indirmek için kullanılır.

Java

Zorunlu içe aktarma işlemleri:

import com.google.api.client.googleapis.media.MediaHttpDownloader;
import com.google.api.client.googleapis.util.Utils;
import com.google.api.client.http.GenericUrl;
import com.google.api.services.doubleclickbidmanager.DoubleClickBidManager;
import com.google.api.services.doubleclickbidmanager.model.ListReportsResponse;
import com.google.api.services.doubleclickbidmanager.model.Report;
import java.io.FileOutputStream;
import java.io.OutputStream;

Kod örneği:

long queryId = query-id;

// Call the API, listing the reports under the given queryId from most to
// least recent.
ListReportsResponse reportListResponse =
    service
        .queries()
        .reports()
        .list(queryId)
        .setOrderBy("key.reportId desc")
        .execute();

// Iterate over returned reports, stopping once finding a report that
// finished generating successfully.
Report mostRecentReport = null;
if (reportListResponse.getReports() != null) {
  for (Report report : reportListResponse.getReports()) {
    if (report.getMetadata().getStatus().getState().equals("DONE")) {
      mostRecentReport = report;
      break;
    }
  }
} else {
  System.out.format("No reports exist for query Id %s.\n", queryId);
}

// Download report file of most recent finished report found.
if (mostRecentReport != null) {
  // Retrieve GCS URL from report object.
  GenericUrl reportUrl =
      new GenericUrl(mostRecentReport.getMetadata().getGoogleCloudStoragePath());

  // Build filename.
  String filename =
      mostRecentReport.getKey().getQueryId() + "_"
          + mostRecentReport.getKey().getReportId() + ".csv";

  // Download the report file.
  try (OutputStream output = new FileOutputStream(filename)) {
    MediaHttpDownloader downloader =
        new MediaHttpDownloader(Utils.getDefaultTransport(), null);
    downloader.download(reportUrl, output);
  }
  System.out.format("Download of file %s complete.\n", filename);
} else {
  System.out.format(
      "There are no completed report files to download for query Id %s.\n",
      queryId);
}

Python

Zorunlu içe aktarma işlemleri:

from contextlib import closing
from six.moves.urllib.request import urlopen

Kod örneği:

query_id = query-id

# Call the API, listing the reports under the given queryId from most to
# least recent.
response = service.queries().reports().list(queryId=query_id, orderBy="key.reportId desc").execute()

# Iterate over returned reports, stopping once finding a report that
# finished generating successfully.
most_recent_report = None
if response['reports']:
  for report in response['reports']:
    if report['metadata']['status']['state'] == 'DONE':
      most_recent_report = report
      break
else:
  print('No reports exist for query Id %s.' % query_id)

# Download report file of most recent finished report found.
if most_recent_report != None:
  # Retrieve GCS URL from report object.
  report_url = most_recent_report['metadata']['googleCloudStoragePath']

  # Build filename.
  output_file = '%s_%s.csv' % (report['key']['queryId'], report['key']['reportId'])

  # Download the report file.
  with open(output_file, 'wb') as output:
    with closing(urlopen(report_url)) as url:
      output.write(url.read())
  print('Download of file %s complete.' % output_file)
else:
  print('There are no completed report files to download for query Id %s.' % query_id)

PHP

$queryId = query-id;

// Call the API, listing the reports under the given queryId from most to
// least recent.
$optParams = array('orderBy' => "key.reportId desc");
$response = $service->queries_reports->listQueriesReports($queryId, $optParams);

// Iterate over returned reports, stopping once finding a report that
// finished generating successfully.
$mostRecentReport = null;
if (!empty($response->getReports())) {
  foreach ($response->getReports() as $report) {
    if ($report->metadata->status->state == "DONE") {
      $mostRecentReport = $report;
      break;
    }
  }
} else {
  printf('<p>No reports exist for query ID %s.</p>', $queryId);
}

// Download report file of most recent finished report found.
if ($mostRecentReport != null) {
  // Build filename.
  $filename = $mostRecentReport->key->queryId . '_' . $mostRecentReport->key->reportId . '.csv';

  // Download the report file.
  file_put_contents($filename, fopen($mostRecentReport->metadata->googleCloudStoragePath, 'r'));
  printf('<p>Download of file %s complete.</p>', $filename);
} else {
  printf('<p>There are no completed report files to download for query Id %s.</p>', $queryId);
}