शेड्यूल की गई रिपोर्ट बनाएं और उन्हें ऐक्सेस करें

Google Display & Video 360 यूज़र इंटरफ़ेस (यूआई) या एपीआई का इस्तेमाल करके, रिपोर्ट बनाई जा सकती हैं और उन्हें शेड्यूल किया जा सकता है. उदाहरण के लिए, असली उपयोगकर्ता हर दिन की रिपोर्ट सेट अप कर सकते हैं. इस रिपोर्ट में बीते कल के इंप्रेशन या कुल खर्च दिखाने वाली हर महीने की रिपोर्ट शामिल होगी.

शेड्यूल की गई रिपोर्ट बनाएं

Display & Video 360 रिपोर्टिंग इंटरफ़ेस में या queries.create एपीआई तरीके से, शेड्यूल की गई नई रिपोर्ट बनाएं. Display & Video 360 की रिपोर्टिंग की सुविधा और नई रिपोर्ट बनाने का तरीका Display & Video 360 की सहायता साइट पर मिल सकता है.

यूज़र इंटरफ़ेस (यूआई) में Repeats फ़ील्ड और एपीआई में मौजूद schedule फ़ील्ड का इस्तेमाल करके, रिपोर्ट बनाते समय उन्हें शेड्यूल किया जा सकता है. ये फ़ील्ड सही समय अंतराल पर सेट किए जाने चाहिए.

उचित फ़ील्ड सेट कर दिए जाने के बाद, यह रिपोर्ट उस शेड्यूल पर चलेगी और जनरेट की गई रिपोर्ट डाउनलोड के लिए उपलब्ध होंगी.

शेड्यूल की गई रिपोर्ट ऐक्सेस करें

शेड्यूल की गई रिपोर्ट सामान्य CSV फ़ाइलों के रूप में जनरेट की जाती हैं और Google Cloud Storage में अपने-आप और सुरक्षित तरीके से सेव होती हैं. हालांकि, Google Cloud Storage बकेट को ऐक्सेस करना मुमकिन नहीं है, जिसमें सीधे ये फ़ाइलें शामिल होती हैं. इसके बजाय, फ़ाइलों को Display & Video 360 यूज़र इंटरफ़ेस (यूआई) से मैन्युअल तरीके से डाउनलोड किया जा सकता है या एपीआई से मिले पहले से अनुमति वाले यूआरएल का इस्तेमाल करके, प्रोग्राम की मदद से डेटा वापस पाया जा सकता है.

रिपोर्ट फ़ाइल डाउनलोड करने के लिए एपीआई इस्तेमाल करने का उदाहरण नीचे दिया गया है. इस उदाहरण में, किसी क्वेरी में सबसे हाल की रिपोर्ट पाने के लिए, queries.reports.list को orderBy पैरामीटर के साथ इस्तेमाल किया गया है. इसके बाद, Report.reportMetadata.googleCloudStoragePath फ़ील्ड का इस्तेमाल रिपोर्ट फ़ाइल का पता लगाने और उसके कॉन्टेंट को लोकल CSV फ़ाइल में डाउनलोड करने के लिए किया जाता है.

Java

ज़रूरी इंपोर्ट:

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;

कोड का उदाहरण:

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

ज़रूरी इंपोर्ट:

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

कोड का उदाहरण:

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);
}