Bid Manager API Query 리소스는 UI에 Display & Video 360 보고서로 표시되는 항목을 나타냅니다. 다음 쿼리를 실행하여 Report 생성
리소스도 제공합니다 성공하면 Report 리소스에 결과 보고서를 다운로드할 수 있는 URL이 제공됩니다.
이 페이지에서는 Query 리소스를 구조화하고 만드는 방법을 설명합니다.
필터, 측정기준, 측정항목 선택
각 Query에서 다음 Parameters를 제공합니다.
params 필드를 사용하여 보고서에 반환되는 데이터를 미세 조정합니다.
filters: 데이터 범위를 제한합니다. filters는FilterPair객체 목록을 사용합니다. 여기서type는 Filter enum이고value는 관련 리소스 ID와 같은 식별 문자열입니다.groupBysFilter enum 목록으로 표시되는 보고서의 측정기준을 정의합니다.metrics는 보고서를 채우는 데이터를 정의합니다. 측정항목 열거형 목록으로 표시됩니다.
Query 구조에 관한 자세한 내용은 참조 문서를 참고하세요.
이러한 값을 선택할 때는 type 필드에 설정된 ReportType을 고려하세요. 선택한 측정항목 및 필터
보고서의 보고서 유형과 호환되어야 함
생성할 수 있습니다
쿼리 만들기
보고서의 핵심 구조를 결정한 후 검색어를 만들 수 있습니다.
지난 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());