Puedes crear y programar informes con las herramientas de la IU de Video 360 en la API de Cloud. Por ejemplo, los usuarios finales pueden configurar un informe diario que muestre los datos de impresiones o un informe mensual con la inversión total.
Crea informes programados
Cómo crear un nuevo informe programado en las pestañas En la interfaz de informes de Video 360
con el método de la API queries.create
Detalles completos en
Anuncios gráficos y la funcionalidad de informes de Video 360 y cómo crear nuevos informes
que se encuentran en la pestaña Pantalla y Sitio de asistencia de Video 360.
Los informes se pueden programar en el momento de su creación a través del campo Repeats
de la IU y el
schedule
en la API. Estos campos deben configurarse como
el intervalo de tiempo adecuado.
Después de configurar el campo adecuado, este informe se ejecutará según esa programación y los informes generados estarán disponibles para descargar.
Cómo acceder a los informes programados
Los informes programados se generan como archivos CSV simples y se almacenan automáticamente y de forma segura en Google Cloud Storage. Sin embargo, no es posible acceder a la Buckets de Google Cloud Storage que contienen estos archivos directamente. En cambio, el los archivos se pueden descargar manualmente desde el menú de IU de Video 360 o recuperada de forma programática con URLs preautorizadas que se obtienen de la API.
A continuación, se proporciona un ejemplo de cómo usar la API para descargar un archivo de informe. En este
Por ejemplo, queries.reports.list
se usa con el
El parámetro orderBy
para recuperar el informe más reciente
en una consulta. Luego, la
El campo Report.reportMetadata.googleCloudStoragePath
es
que se usa para ubicar el archivo del informe y descargar su contenido en un archivo CSV local.
Java
Importaciones obligatorias:
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;
Ejemplo de código:
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
Importaciones obligatorias:
from contextlib import closing from six.moves.urllib.request import urlopen
Ejemplo de código:
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); }