Anda dapat membuat dan menjadwalkan laporan menggunakan antarmuka UI Video 360 atau Compute Engine API. Misalnya, pengguna akhir dapat menyiapkan laporan harian yang menampilkan aktivitas tayangan iklan, atau laporan bulanan yang menampilkan total pembelanjaan.
Membuat Laporan Terjadwal
Membuat laporan terjadwal baru di platform Display & Antarmuka pelaporan Video 360 atau
dengan metode queries.create
API. Detail lengkap di
Layar & Fungsi pelaporan Video 360 dan cara membuat laporan baru dapat
yang ada di artikel Display & Situs dukungan Video 360.
Laporan dapat dijadwalkan saat pembuatan menggunakan kolom Repeats
di UI dan
Kolom schedule
di API. Bidang ini harus diatur ke
interval waktu yang sesuai.
Setelah isian yang sesuai ditetapkan, laporan ini akan dijalankan pada jadwal tersebut dan laporan yang dihasilkan kemudian akan tersedia untuk diunduh.
Mengakses Laporan Terjadwal
Laporan terjadwal dibuat sebagai file CSV sederhana dan disimpan secara otomatis dan aman di Google Cloud Storage. Namun, Anda tidak dapat mengakses Bucket Google Cloud Storage yang berisi file ini secara langsung. Sebagai gantinya, dapat didownload secara manual dari tab Display & UI Video 360 atau diambil secara terprogram menggunakan URL yang telah diberi otorisasi sebelumnya yang diperoleh dari API.
Contoh penggunaan API untuk mendownload file laporan tersedia di bawah. Di sini
contoh, queries.reports.list
digunakan dengan
Parameter orderBy
untuk mengambil laporan terbaru
dalam kueri. Kemudian,
Kolom Report.reportMetadata.googleCloudStoragePath
sekarang adalah
digunakan untuk menemukan file laporan dan mengunduh
isinya ke file CSV lokal.
Java
Impor yang diperlukan:
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;
Contoh kode:
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
Impor yang diperlukan:
from contextlib import closing from six.moves.urllib.request import urlopen
Contoh kode:
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); }