Tài nguyên API Trình quản lý giá thầu Query
thể hiện những gì bạn thấy trong giao diện người dùng dưới dạng
màn hình và Báo cáo Video 360. Chạy truy vấn này để tạo một Report
nguồn. Nếu thành công, tài nguyên Report
sẽ cung cấp URL mà tại đó
bạn có thể tải báo cáo kết quả xuống.
Trang này giải thích cách định cấu trúc và tạo tài nguyên Query
.
Chọn bộ lọc, phương diện và chỉ số
Trong mỗi Query
, hãy cung cấp Parameters
sau đây trong
params
để tinh chỉnh dữ liệu được trả về trong báo cáo:
filters
giới hạn phạm vi của dữ liệu. bộ lọc sẽ lấy một danh sách củaFilterPair
đối tượng, trong đótype
là một enum Filter vàvalue
là một chuỗi xác định, chẳng hạn như mã nhận dạng tài nguyên.groupBys
xác định các phương diện cho báo cáo, được biểu thị bằng một danh sách enum Filter (Bộ lọc).metrics
xác định dữ liệu điền báo cáo, được thể hiện bằng danh sách enum Chỉ số.
Để biết thêm thông tin về cấu trúc Query
, hãy xem tài liệu tham khảo
tài liệu.
Khi chọn các giá trị này, hãy cân nhắc ReportType
,
được thiết lập trong trường type
. Các chỉ số và bộ lọc bạn đã chọn
các giá trị phải tương thích với loại báo cáo cho báo cáo
để tạo thành công.
Tạo truy vấn
Sau khi xác định được cấu trúc cốt lõi của báo cáo, bạn có thể tạo truy vấn của mình.
Dưới đây là cách tạo một báo cáo đặc biệt bao gồm dữ liệu từ 7 ngày:
Java
// 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());