Google 디스플레이 및 동영상 360 UI 또는 API에 액세스할 수 있습니다. 예를 들어 최종 사용자는 어제의 일일 방문 시간을 보여주는 일일 보고서를 총지출을 보여주는 월별 보고서를 볼 수 있습니다.
정기 보고서 작성
Display &Video 360에서 새 예약 보고서를 만들고 Video 360 보고 인터페이스 또는
queries.create
API 메서드 사용 자세한 내용은 다음 페이지를 참고하세요.
디스플레이 및 동영상 360의 보고 기능과 새 보고서를 만드는 방법은
Display & Video 360 지원 사이트를 참조하세요.
보고서 생성 시 UI의 Repeats
필드를 사용하여 보고서를 예약할 수 있습니다.
schedule
필드에 표시됩니다. 이러한 필드는
적절한 시간 간격을 두어야 합니다
적절한 필드가 설정되면 해당 일정으로 보고서가 실행되고 생성된 보고서를 다운로드할 수 있습니다.
예약된 보고서 액세스
정기 보고서는 간단한 CSV 파일로 생성되며 자동으로 저장됩니다. Google Cloud Storage에서 안전하게 저장할 수 있습니다 하지만 이러한 파일이 직접 포함된 Google Cloud Storage 버킷입니다. 대신 파일은 Display &Video 360에서 수동으로 다운로드할 수 있으며 Video 360 UI 또는 검색 Google에서 얻은 사전 승인된 URL을 프로그래매틱 방식으로 사용하여 생성합니다.
다음은 API를 사용하여 보고서 파일을 다운로드하는 예입니다. 이
예를 들어 queries.reports.list
는
orderBy
매개변수를 사용하여 최신 보고서 가져오기
찾을 수 있습니다. 그런 다음
Report.reportMetadata.googleCloudStoragePath
필드:
CSV 파일을 이용해 보고서 파일을 찾아 해당 콘텐츠를 로컬 CSV 파일로 다운로드할 수 있습니다.
자바
필수 가져오기:
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); }