This page provides release notes for the Google DoubleClick Bid Manager API.
Version 1.1
One-to-one filter to report column mapping
Filters that mapped to multiple report columns now map to single columns.
For example, in v1, including the filter FILTER_ADVERTISER
yields a report
with columns "Advertiser" in addition to "Advertiser ID". In v1.1, all
report columns have their own filters. For example, a new filter
FILTER_ADVERTISER_NAME
maps to "Advertiser". To get both "Advertiser
ID" and "Advertiser" columns in reports, both filters FILTER_ADVERTISER
and
FILTER_ADVERTISER_NAME
, respectively, will have to be included in
Queries.createquery
requests.
More concretely, the createquery
request:
{
...
"params": {
...
"groupBys": ["FILTER_ADVERTISER"],
"metrics": ["METRIC_IMPRESSIONS"],
...
}
...
}
generates a report file with the following headers in v1:
Advertiser,Advertiser ID,Advertiser Status,Advertiser Integration Code,Impressions
and the following headers in v1.1:
Advertiser,Impressions
The following v1 code used to get report columns in the example above:
List<String> groupBys = new ArrayList<>();
groupBys.add("FILTER_ADVERTISER");
List<String> metrics = new ArrayList<>();
metrics.add("METRIC_IMPRESSIONS");
com.google.api.services.doubleclickbidmanager.model.Parameters createQueryParameters =
new com.google.api.services.doubleclickbidmanager.model.Parameters()
.setGroupBys(groupBys)
.setMetrics(metrics);
will have to be modified similar to the following in v1.1 (note filter ordering):
List<String> groupBys = new ArrayList<>();
groupBys.add("FILTER_ADVERTISER_NAME");
groupBys.add("FILTER_ADVERTISER");
groupBys.add("FILTER_ADVERTISER_INTEGRATION_STATUS");
groupBys.add("FILTER_ADVERTISER_INTEGRATION_CODE");
List<String> metrics = new ArrayList<>();
metrics.add("METRIC_IMPRESSIONS");
com.google.api.services.doubleclickbidmanager.model.Parameters createQueryParameters =
new com.google.api.services.doubleclickbidmanager.model.Parameters()
.setGroupBys(groupBys)
.setMetrics(metrics);
Original filter | Added filters |
---|---|
FILTER_ADVERTISER |
FILTER_ADVERTISER_NAME FILTER_ADVERTISER_INTEGRATION_CODE FILTER_ADVERTISER_INTEGRATION_STATUS |
FILTER_AD_POSITION |
FILTER_AD_POSITION_NAME |
FILTER_CARRIER |
FILTER_CARRIER_NAME |
FILTER_CHANNEL_ID |
FILTER_CHANNEL_NAME |
FILTER_CITY |
FILTER_CITY_NAME |
FILTER_COMPANION_CREATIVE_ID |
FILTER_COMPANION_CREATIVE_NAME |
FILTER_DMA |
FILTER_DMA_NAME |
FILTER_INSERTION_ORDER |
FILTER_INSERTION_ORDER_NAME |
FILTER_PARTNER |
FILTER_PARTNER_NAME FILTER_PARTNER_STATUS |
FILTER_REGION |
FILTER_REGION_NAME |
FILTER_TRUEVIEW_DMA |
FILTER_TRUEVIEW_DMA_NAME |
FILTER_TRUEVIEW_IAR_REGION |
FILTER_TRUEVIEW_IAR_REGION_NAME |
FILTER_USER_LIST_FIRST_PARTY |
FILTER_USER_LIST_FIRST_PARTY_NAME |
FILTER_USER_LIST_THIRD_PARTY |
FILTER_USER_LIST_THIRD_PARTY_NAME |
Pagination
v1.1 adds pagination to methods
Queries.listqueries
and
Reports.listreports
.
In v1.1, the number of results returned by these
methods is equal to a newly added parameter
pageSize
(it defaults to
100
if not specified). Responses contain a newly added
nextPageToken
field that can
be used to retrieve the next set of results. This field is blank if results
have been exhausted.
The following v1 code to retrieve all reports belonging to a specific query:
public class GetReports {
public List<Report> getReports(DoubleClickBidManager service, long queryId) throws IOException {
ListReportsResponse reportListResponse = service.reports().listreports(queryId).execute();
return reportListResponse.getReports();
}
}
will have to be modified similar to the following in v1.1, in order to continue retrieving all reports:
public class GetReports {
public List<Report> getReports(DoubleClickBidManager service, long queryId) throws IOException {
ListReportsResponse reportListResponse = service.reports().listreports(queryId).execute();
List<Report> reports = new ArrayList<>(reportListResponse.getReports());
while (reportListResponse.getNextPageToken() != null
&& reportListResponse.getNextPageToken().length() > 0) {
// Get next set of results, aka page.
reportListResponse =
service
.reports()
.listreports(queryId)
.setPageToken(reportListResponse.getNextPageToken())
.execute();
reports.addAll(reportListResponse.getReports());
}
return reports;
}
}
See Queries.listqueries
and
Reports.listreports
method
documentation for more details.
Known issues
None.
Version 1
This is the initial version of the API.
Known issues
None.