Bid Manager API Query 리소스는 UI에
Display & Video 360 보고서로 표시되는 항목을 나타냅니다. 이 쿼리를 실행하여 Report
리소스를 생성합니다. 성공하면 Report 리소스는 결과 보고서를 다운로드할 수 있는 URL을 제공합니다.
이 페이지에서는 Query 리소스를 구성하고 만드는 방법을 설명합니다.
필터, 측정기준, 측정항목 선택
각 Query에서 보고서에 반환되는 데이터를 세부적으로 조정하려면
params 필드에 다음 Parameters를 제공하세요.
filters는 데이터의 범위를 제한합니다. 필터는FilterPair객체 목록을 가져옵니다. 여기서type는 필터 열거형이고value는 관련 리소스 ID와 같은 식별 문자열입니다.groupBys는 보고서의 측정기준을 정의하며, 필터 열거형 목록으로 표시됩니다.metrics는 보고서를 채우는 데이터를 정의합니다. 측정항목 열거형 목록으로 표시됩니다.
Query 구조에 관한 자세한 내용은 참조
문서를 확인하세요.
이러한 값을 선택할 때는 ReportType,
type 필드에 설정된 을 고려하세요. 선택한 측정항목 및 필터
값이 보고서 유형과 호환되어야 보고서가
성공적으로 생성됩니다.
쿼리 만들기
보고서의 기본 구조를 결정한 후에는 쿼리를 만들 수 있습니다.
지난 7일간의 데이터로 구성된 임시 보고서를 만드는 방법은 다음과 같습니다.
자바
// Display name of the query to create. String displayName = display-name; // The report type. String reportType = report-type; // The advertisers and campaigns by which to filter report data. List<String> advertiserIdFilters = Arrays.asList(advertiser-id,...); List<String> campaignIdFilters = Arrays.asList(campaign-id,...); // The dimensions and metrics for the report. List<String> dimensions = Arrays.asList(dimension,...); List<String> metrics = Arrays.asList(metric,...); // Build a list of filter pairs from given IDs. List<FilterPair> filters = new ArrayList<FilterPair>(); if (advertiserIdFilters != null) { for (String advertiserId : advertiserIdFilters) { filters.add( new FilterPair().setType("FILTER_ADVERTISER").setValue(advertiserId)); } } if (campaignIdFilters != null) { for (String campaignId : campaignIdFilters) { filters.add( new FilterPair().setType("FILTER_MEDIA_PLAN").setValue(campaignId)); } } // Create the query structure. Query query = new Query(); // Build and set the metadata object. QueryMetadata metadata = new QueryMetadata(); metadata.setTitle(displayName); metadata.setDataRange(new DataRange().setRange("LAST_7_DAYS")); metadata.setFormat("CSV"); query.setMetadata(metadata); // Build the parameters object. Parameters parameters = new Parameters(); parameters.setType(reportType); parameters.setGroupBys(dimensions); parameters.setFilters(filters); parameters.setMetrics(metrics); // Set parameters object in query. query.setParams(parameters); // Build and set the schedule object. QuerySchedule schedule = new QuerySchedule(); schedule.setFrequency("ONE_TIME"); query.setSchedule(schedule); // Create the query. Query queryResponse = service.queries().create(query).execute(); // Log query creation. System.out.printf("Query %s was created.%n", queryResponse.getQueryId());
Python
# Display name of the query to create. display_name = display-name # The report type. report_type = report-type # The advertisers and campaigns by which to filter report data. filtered_advertiser_ids = [advertiser-id,...] filtered_campaign_ids = [campaign-id,...] # The dimensions and metrics for the report. dimensions = [dimension,...] metrics = [metric,...] # Build list of FilterPair objects. filters = [] if filtered_campaign_ids != None: filters.extend([ {"type": "FILTER_MEDIA_PLAN", "value": id} for id in filtered_campaign_ids ]) if filtered_advertiser_ids != None: filters.extend([ {"type": "FILTER_ADVERTISER", "value": id} for id in filtered_advertiser_ids ]) # Build query object. query_obj = { "metadata": { "title": display_name, "dataRange": {"range": "LAST_7_DAYS"}, "format": "CSV", }, "params": { "type": report_type, "groupBys": dimensions, "filters": filters, "metrics": metrics, }, "schedule": {"frequency": "ONE_TIME"} } # Create query object. query_response = service.queries().create(body=query_obj).execute() # Print new query ID. print(f'Query {query_response["queryId"]} was created.')
PHP
// Display name of the query to create. $displayName = display-name; // The report type. $reportType = report-type; // Advertiser ID and campaign ID by which to filter data. $advertiserIdFilters = array(advertiser-id,...); $campaignIdFilters = array(campaign-id,...); // The dimensions and metrics for the report. $dimensions = array(dimension,...); $metrics = array(metric,...); // Build a list of filter pairs from given IDs. $filters = array(); foreach ($advertiserIdFilters as $advertiserId) { $filterPair = new Google_Service_DoubleClickBidManager_FilterPair(); $filterPair->setType("FILTER_ADVERTISER"); $filterPair->setValue($advertiserId); array_push($filters, $filterPair); } foreach ($campaignIdFilters as $campaignId) { $filterPair = new Google_Service_DoubleClickBidManager_FilterPair(); $filterPair->setType("FILTER_MEDIA_PLAN"); $filterPair->setValue($campaignId); array_push($filters, $filterPair); } // Create the query structure. $query = new Google_Service_DoubleClickBidManager_Query(); // Build and set the metadata object. $metadata = new Google_Service_DoubleClickBidManager_QueryMetadata(); $metadata->setTitle($displayName); $metadata->setFormat("CSV"); $dataRange = new Google_Service_DoubleClickBidManager_DataRange(); $dataRange->setRange("LAST_7_DAYS"); $metadata->setDataRange($dataRange); $query->setMetadata($metadata); // Build and set the parameters object. $parameters = new Google_Service_DoubleClickBidManager_Parameters(); $parameters->setType($reportType); $parameters->setGroupBys($dimensions); $parameters->setFilters($filters); $parameters->setMetrics($metrics); $query->setParams($parameters); // Build and set the schedule object. $schedule = new Google_Service_DoubleClickBidManager_QuerySchedule(); $schedule->setFrequency("ONE_TIME"); $query->setSchedule($schedule); // Call the API, creating the query. $queryResult = $this->service->queries->create($query); printf('Query %s was created.<br>', $queryResult->getQueryId());