В марте 2022 года мы выпустили версию 2 API Bid Manager. В связи с выпуском этой новой версии мы планируем в ближайшее время объявить дату прекращения поддержки версии 1.1. Мы рекомендуем вам начать миграцию с версии 1.1 на версию 2 как можно скорее.
Перенесите ваше приложение.
Для перехода с версии 1.1 на версию 2 необходимо обновить URL-адреса конечных точек, чтобы они обращались к версии 2, а также обновить приложение с учетом изменений, нарушающих обратную совместимость.
Обновите вызовы API с версии 1.1 до версии 2.
Чтобы использовать версию 2 вместо версии 1.1, необходимо обновить ваши запросы, чтобы они использовали новые конечные точки версии 2.
Определите эквивалентные методы
Для обновления вызовов API с версии 1.1 до версии 2 необходимо сначала определить эквивалентные методы версии 1.1 в версии 2.
Названия всех сервисов и методов незначительно изменились в период между версиями 1.1 и 2:
- В версии 1.1
QueriesиReportsсервисов называютсяqueriesиqueries.reportsв версии 2. - В версии 2 методы были переименованы следующим образом:
v1.1 название метода Эквивалентный метод v2 Queries.createqueryqueries.createQueries.deletequeryqueries.deleteQueries.getqueryqueries.getQueries.listqueriesqueries.listQueries.runqueryqueries.runReports.listreportsqueries.reports.list
Обновление до новых конечных точек
После того, как вы определили эквивалентные методы, вам необходимо обновить ваши запросы. Например, чтобы вызвать метод queries.getquery в версии 1.1, вы должны использовать следующий URL:
https://www.googleapis.com/doubleclickbidmanager/v1.1/query/queryId
Чтобы вызвать аналогичный метод в версии 2, известный как queries.get , обновите URL-адрес следующим образом:
GET https://doubleclickbidmanager.googleapis.com/v2/queries/queryId
Если вы используете клиентскую библиотеку для отправки запросов к API, используйте самую последнюю версию клиентской библиотеки и обновите конфигурацию, чтобы использовать версию 2.
Внесите необходимые изменения
В версии 2 мы вносим ряд существенных изменений. Ознакомьтесь со следующими инструкциями и внесите необходимые изменения, соответствующие вашему текущему использованию API менеджера заявок.
Обновить вызовы службы queries
- В ресурсе
Query, первоначально представленном общими вложенными объектами, следующие поля были изменены и теперь используют следующие типы объектов:поле v1.1 Эквивалентный тип объекта v2 metadataQueryMetadataparamsParametersparams.optionsOptionsparams.options.pathQueryOptionsУдаленный params.options.pathQueryOptions.channelGroupingУдаленный params.options.pathQueryOptions.channelGrouping.rules[].disjunctiveMatchStatements[].eventFilters[].dimensionFilterУдаленный params.options.pathQueryOptions.pathFilters[].eventFilters[].dimensionFilterУдаленный scheduleQuerySchedule - В ресурсе
Queryпервоначально представленном в виде общих объектов-списков, следующие поля были преобразованы в списки объектов следующих новых типов: - Следующие поля в ресурсе
Query, первоначально представленные строками, в версии 2 представлены типами перечисления (enum types) и включают следующие изменения:- В версии 2 эквивалент объекта
metadata.dataRangeтеперь использует перечислениеRange. При переходе на это перечисление значениеPREVIOUS_HALF_MONTHбыло удалено, а значениеTYPE_NOT_SUPPORTEDбыло изменено наRANGE_UNSPECIFIED. -
metadata.formatтеперь используется перечислениеFormat. При преобразовании в это перечисление значениеEXCEL_CSVбыло удалено, а вместо него добавлено значениеFORMAT_UNSPECIFIED. - Теперь
params.options.pathQueryOptions.channelGrouping.rules[].disjunctiveMatchStatements[].eventFilters[].dimensionFilter.matchиparams.options.pathQueryOptions.pathFilters[].eventFilters[].dimensionFilter.matchиспользуют перечислениеMatch. -
params.options.pathQueryOptions.pathFilters[].pathMatchPositionтеперь использует перечислениеPathMatchPosition. При преобразовании в это перечисление было добавлено значениеPATH_MATCH_POSITION_UNSPECIFIED. -
schedule.frequencyтеперь используется перечислениеFrequency. При преобразовании в это перечисление было добавлено значениеFREQUENCY_UNSPECIFIED. - В параметре
params.typeтеперь используется перечислениеReportType. При переходе на это перечисление были внесены следующие изменения: - Следующие значения устарели:
-
TYPE_ACTIVE_GRP -
TYPE_AUDIENCE_PERFORMANCE -
TYPE_CLIENT_SAFE -
TYPE_COMSCORE_VCE -
TYPE_CROSS_FEE -
TYPE_CROSS_PARTNER -
TYPE_CROSS_PARTNER_THIRD_PARTY_DATA_PROVIDER -
TYPE_ESTIMATED_CONVERSION -
TYPE_FEE -
TYPE_KEYWORD -
TYPE_LINEAR_TV_SEARCH_LIFT -
TYPE_NIELSEN_AUDIENCE_PROFILE -
TYPE_NIELSEN_DAILY_REACH_BUILD -
TYPE_NIELSEN_ONLINE_GLOBAL_MARKET -
TYPE_PAGE_CATEGORY -
TYPE_PETRA_NIELSEN_DAILY_REACH_BUILD -
TYPE_PETRA_NIELSEN_ONLINE_GLOBAL_MARKET -
TYPE_PIXEL_LOAD -
TYPE_THIRD_PARTY_DATA_PROVIDER -
TYPE_TRUEVIEW_IAR -
TYPE_VERIFICATION -
TYPE_YOUTUBE_VERTICAL
-
- Все остальные значения были обновлены, чтобы лучше отражать их эквивалентные значения в пользовательском интерфейсе:
значения v1.1 Эквивалентное значение ReportTypeTYPE_NOT_SUPPORTEDREPORT_TYPE_UNSPECIFIEDTYPE_GENERALSTANDARDTYPE_INVENTORY_AVAILABILITYINVENTORY_AVAILABILITYTYPE_AUDIENCE_COMPOSITIONAUDIENCE_COMPOSITIONTYPE_ORDER_IDFLOODLIGHTTYPE_TRUEVIEWYOUTUBETYPE_NIELSEN_SITEGRPTYPE_PETRA_NIELSEN_AUDIENCE_PROFILEYOUTUBE_PROGRAMMATIC_GUARANTEEDTYPE_REACH_AND_FREQUENCYREACHTYPE_REACH_AUDIENCEUNIQUE_REACH_AUDIENCETYPE_PATHFULL_PATHTYPE_PATH_ATTRIBUTIONPATH_ATTRIBUTION
- В версии 2 эквивалент объекта
- Поля
metadata.dataRange,reportDataStartTimeMsиreportDataEndTimeMsбыли заменены полямиrange,customStartDateиcustomEndDate. В новых полях даты используются объектыDateвместо миллисекунд с начала эпохи Unix. Эти заменяющие поля были перемещены в объектDataRangeназначенный полюdataRangeв объектеQueryMetadata. - Поля
schedule.startTimeMsиschedule.endTimeMsв объектеQueryScheduleзаменены полямиstartDateиendDate. В новых полях даты используются объектыDateвместо миллисекунд, начиная с эпохи Unix. - Поля
metadata.running,metadata.reportCount,metadata.googleCloudStoragePathForLatestReport,metadata.googleDrivePathForLatestReportиmetadata.latestReportRunTimeMsбыли удалены. Информацию о последних сгенерированных отчетах по запросу следует получать с помощью методаqueries.reports.listс параметромorderByсо значением “key.reportId desc”, чтобы гарантировать, что запрос будет отображать самые последние отчеты в начале списка. - Поля
kind,timezoneCode,metadata.locale,params.includeInviteDataиschedule.nextRunMinuteOfDayбыли удалены. -
queries.createбольше не выполняет запросы автоматически после их создания, а параметрasynchronousзапроса удален. Для генерации отчетов по новым запросам послеqueries.createследует вызыватьqueries.run. - Метод
queries.runбыл обновлен следующим образом:- Параметр
asynchronousзапроса был заменен параметромsynchronousзапроса. Новый параметр запроса работает по обратной логике и считается ложным, если не указан. В связи с этим, в версии 2queries.runпо умолчанию генерирует отчеты асинхронно, в отличие от синхронного режима, который был по умолчанию в версии 1.1. - В тело запроса внесены изменения: поле
timezoneCodeудалено, а поляdataRange,reportDataStartTimeMsиreportDataEndTimeMsзаменены объектомDataRange, присвоенным полюdataRange. - Метод возвращает результирующий объект
Reportвместо пустого тела ответа.
- Параметр
- Поле
kindв теле ответаqueries.listбыло удалено.
Обновить вызовы службы reports
- В ресурсе
Report, первоначально представленном общими вложенными объектами, следующие поля были изменены и теперь используют следующие типы объектов:поле v1.1 Эквивалентный тип объекта v2 keyReportKeymetadataReportMetadatametadata.statusReportStatusparamsParametersparams.optionsOptionsparams.options.pathQueryOptionsУдаленный params.options.pathQueryOptions.channelGroupingУдаленный params.options.pathQueryOptions.channelGrouping.rules[].disjunctiveMatchStatements[].eventFilters[].dimensionFilterУдаленный params.options.pathQueryOptions.pathFilters[].eventFilters[].dimensionFilterУдаленный - В ресурсе
Report, ранее представленном в виде общих списковых объектов, следующие поля были преобразованы в списки следующих новых типов объектов: - В ресурсе
Report, ранее представленном строками, следующие поля были изменены, и их эквиваленты в версии 2 представлены новыми типами перечислений, а также внесены изменения в допустимые значения:-
metadata.status.formatтеперь используется перечислениеFormat. При преобразовании в это перечисление значениеEXCEL_CSVбыло удалено, а вместо него добавленоFORMAT_UNSPECIFIED. -
metadata.status.stateтеперь используется перечислениеState. При преобразовании в это перечисление были добавлены значенияQUEUEDиSTATE_UNSPECIFIED. - Теперь
params.options.pathQueryOptions.channelGrouping.rules[].disjunctiveMatchStatements[].eventFilters[].dimensionFilter.matchиparams.options.pathQueryOptions.pathFilters[].eventFilters[].dimensionFilter.matchиспользуют перечислениеMatch. -
params.options.pathQueryOptions.pathFilters[].pathMatchPositionтеперь использует перечислениеPathMatchPosition. При преобразовании в это перечисление было добавлено значениеPATH_MATCH_POSITION_UNSPECIFIED. - В параметре
params.typeтеперь используется перечислениеReportType. При переходе на это перечисление были внесены многочисленные изменения, подробно описанные в предыдущем разделе, посвященном обновлению вызовов сервиса запросов.
-
- Поля
metadata.reportDataStartTimeMsиmetadata.reportDataEndTimeMsзаменены полямиreportDataStartDateиreportDataEndDateв объектеReportMetadata. В новых полях используются объектыDateвместо миллисекунд, начиная с эпохи Unix. -
metadata.status.finishTimeMsбыло заменено полемfinishTimeв объектеReportStatus. Это новое поле времени представляет дату и время в виде метки времени в формате RFC3339 UTC "Zulu", а не в миллисекундах с момента начала эпохи Unix. - Поля
metadata.status.failureиparams.includeInviteDataбыли удалены. - Поле
kindв теле ответаreports.listбыло удалено.
Обновить логику обработки ошибок
В версии 2 обновлены сообщения об ошибках в API. Новые сообщения об ошибках более конкретны и в некоторых случаях содержат информацию о значениях в запросе API, которые вызывают ошибку. Если ваша существующая логика обработки ошибок основана на конкретном тексте сообщения об ошибке, обобщите обработку ошибок перед переходом на версию 2.