Créer des rapports planifiés et y accéder

Vous pouvez créer et planifier des rapports à l'aide du programme l'interface utilisateur de Video 360 ou API. Par exemple, les utilisateurs finaux peuvent configurer un rapport quotidien récapitulant les d'impressions ou un rapport mensuel présentant les dépenses totales.

Créer des rapports planifiés

Créer un rapport planifié dans Display & de l'interface de création de rapports Video 360 ou avec la méthode API queries.create. Détails complets sur Display & la fonctionnalité de création de rapports de Video 360 et la création de rapports disponibles dans la section Site d'assistance Video 360

Les rapports peuvent être planifiés au moment de leur création à l'aide du champ Repeats de l'interface utilisateur et de la schedule dans l'API. Ces champs doivent être définis sur l'intervalle de temps approprié.

Une fois le champ correct défini, le rapport sera exécuté selon ce calendrier et vous pouvez télécharger les rapports générés.

Accéder aux rapports planifiés

Les rapports planifiés sont générés sous forme de simples fichiers CSV et sont stockés automatiquement de manière sécurisée dans Google Cloud Storage. Il est toutefois impossible d'accéder Buckets Google Cloud Storage contenant directement ces fichiers. L'élément peuvent être téléchargés manuellement depuis l'application Display & UI Video 360 ou récupérée de façon programmatique à l'aide d'URL pré-autorisées obtenues à partir de l'API.

Vous trouverez ci-dessous un exemple d'utilisation de l'API pour télécharger un fichier de rapport. Dans ce Par exemple, queries.reports.list est utilisé avec Paramètre orderBy pour récupérer le rapport le plus récent sous une requête. Dans ce cas, Le champ Report.reportMetadata.googleCloudStoragePath est utilisé pour localiser le fichier de rapport et télécharger son contenu dans un fichier CSV local.

Java

Importations requises:

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;

Exemple de code:

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

Importations requises:

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

Exemple de code:

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