Примечания к выпуску

На этой странице представлены примечания к выпуску API Google Bid Manager.

Версия 2

Внесены структурные изменения в API, включая обновление конечной точки службы и переименование служб и методов.

Значительно обновлены ресурсы запросов и отчетов за счет удаления ненужных полей, реорганизации существующих полей и изменения типов полей. Это включает в себя изменение типов полей для использования именованных объектов вместо общего определения «вложенных объектов».

Требуется выполнение специальных запросов с использованием метода queries.run вместо их автоматического запуска после создания.

Заменен asynchronous параметр запроса queries.run на synchronous .

Упрощенный поиск отчетов за счет следующих изменений:

Обновлены сообщения об ошибках, возвращаемые API, чтобы быть более конкретными и предлагать более предписывающие решения.

Следуйте инструкциям, представленным в Руководстве по переходу на версию 2, чтобы выполнить миграцию с версии 1.1 на версию 2.

Новые особенности

Известные вопросы

Никто.

Версия 1.1

Индивидуальный фильтр для сопоставления столбцов отчета

Фильтры, которые сопоставлялись с несколькими столбцами отчета, теперь сопоставляются с отдельными столбцами.

Например, в v1 включение фильтра FILTER_ADVERTISER дает отчет со столбцами «Рекламодатель» в дополнение к «ID рекламодателя». В версии 1.1 все столбцы отчета имеют собственные фильтры. Например, новый фильтр FILTER_ADVERTISER_NAME сопоставляется с "Рекламодателем". Чтобы получить в отчетах столбцы «ID рекламодателя» и «Рекламодатель», оба фильтра FILTER_ADVERTISER и FILTER_ADVERTISER_NAME соответственно должны быть включены в запросы Queries.createquery .

Более конкретно, запрос createquery :

{
...
"params": {
  ...
  "groupBys": ["FILTER_ADVERTISER"],
  "metrics": ["METRIC_IMPRESSIONS"],
  ...
}
...
}

генерирует файл отчета со следующими заголовками в v1:

Advertiser,Advertiser ID,Advertiser Status,Advertiser Integration Code,Impressions

и следующие заголовки в v1.1:

Advertiser,Impressions

Следующий код версии 1 используется для получения столбцов отчета в приведенном выше примере:

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);

необходимо будет изменить аналогично следующему в версии 1.1 (обратите внимание на порядок фильтров):

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);
Оригинальный фильтр Добавлены фильтры
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

Пагинация

v1.1 добавляет нумерацию страниц в методы Queries.listqueries и Reports.listreports .

В v1.1 количество результатов, возвращаемых этими методами, равно вновь добавленному параметру pageSize (по умолчанию он равен 100 , если не указан). Ответы содержат недавно добавленное поле nextPageToken , которое можно использовать для получения следующего набора результатов. Это поле остается пустым, если результаты исчерпаны.

Следующий код v1 для получения всех отчетов, принадлежащих определенному запросу:

public class GetReports {
  public List<Report> getReports(DoubleClickBidManager service, long queryId) throws IOException {
    ListReportsResponse reportListResponse = service.reports().listreports(queryId).execute();

    return reportListResponse.getReports();
  }
}

необходимо изменить, как показано ниже в версии 1.1, чтобы продолжить получение всех отчетов:

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;
  }
}

Дополнительные сведения см. в документации по Queries.listqueries и Reports.listreports .

Известные вопросы

Никто.

Версия 1

Это начальная версия API.

Известные вопросы

Никто.