Bid Manager API Query
리소스는 UI에 표시되는 내용을 나타냅니다.
디스플레이 및 동영상 360 보고서 다음 쿼리를 실행하여 Report
생성
리소스도 제공합니다 성공하면 Report
리소스가
결과 보고서를 다운로드할 수 있습니다.
이 페이지에서는 Query
리소스를 구조화하고 만드는 방법을 설명합니다.
필터, 측정기준, 측정항목 선택
각 Query
에서 다음 Parameters
를
params
필드를 사용하여 보고서에 반환되는 데이터를 미세 조정합니다.
filters
는 데이터 범위를 제한합니다. 필터는 목록을 가져와 (FilterPair
) 객체를 반환합니다.type
는 Filter enum이고,value
은 리소스 ID입니다.groupBys
는 보고서의 측정기준을 정의합니다. Filter enum 목록으로 표현됩니다.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());