Puoi creare e pianificare i report utilizzando la funzione L'interfaccia utente di Video 360 o tramite Google Cloud CLI o tramite l'API Compute Engine. Ad esempio, gli utenti finali possono creare un report giornaliero che mostra le ore di ieri impressioni o un report mensile che mostra la spesa totale.
Crea report pianificati
Crea un nuovo report pianificato nel pannello Display & nell'interfaccia dei report di Video 360
con il metodo API queries.create
. Dettagli completi su
Display e La funzionalità di generazione dei report di Video 360 e come crearne di nuovi
disponibile nella sezione Display & sito di assistenza di Video 360.
I report possono essere pianificati al momento della creazione utilizzando il campo Repeats
nell'interfaccia utente e
schedule
nell'API. Questi campi devono essere impostati su
l'intervallo di tempo appropriato.
Una volta impostato il campo appropriato, il report verrà eseguito in base a quella pianificazione e i report generati saranno quindi disponibili per il download.
Accesso ai report pianificati
I report pianificati vengono generati come semplici file CSV e vengono memorizzati automaticamente in tutta sicurezza in Google Cloud Storage. Tuttavia, non è possibile accedere al nei bucket Google Cloud Storage che contengono direttamente questi file. Invece, di file possono essere scaricati manualmente dall'API Display & UI di Video 360 o recuperata in modo programmatico utilizzando URL preautorizzati ottenuti da l'API.
Di seguito è riportato un esempio di utilizzo dell'API per scaricare un file di report. In questo
Ad esempio, queries.reports.list
viene utilizzato con
Parametro orderBy
per recuperare il report più recente
in una query. Quindi,
Il campo Report.reportMetadata.googleCloudStoragePath
è
per individuare il file del report e scaricarne i contenuti in un file CSV locale.
Java
Importazioni obbligatorie:
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;
Esempio di codice:
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
Importazioni obbligatorie:
from contextlib import closing from six.moves.urllib.request import urlopen
Esempio di codice:
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); }