Em março de 2022, lançamos a versão 2 da API Bid Manager. Considerando da nova versão, mas planejamos anunciar uma data de desativação para a v1.1 em breve. Qa é recomendável iniciar a migração da v1.1 para a v2 assim que possível.
Migrar seu aplicativo
Migrar da v1.1 para a v2 requer a atualização dos URLs dos endpoints para chamar a v2 e atualizando o aplicativo para considerar alterações interruptivas.
Atualizar suas chamadas de API da v1.1 para a v2
Para usar a v2 em vez da v1.1, atualize suas solicitações para usar a nova v2 endpoints.
Identificar métodos equivalentes
Para atualizar suas chamadas de API de usar a v1.1 para a v2, primeiro é necessário identificar os métodos equivalentes da v1.1 na v2.
Os nomes de todos os serviços e métodos a seguir foram um pouco alterados entre v1.1 e v2:
- Os serviços
Queries
eReports
na v1.1 são conhecidos comoqueries
equeries.reports
na v2. - Os métodos foram renomeados da seguinte forma na v2:
Nome do método da v1.1 Método equivalente da v2 Queries.createquery
queries.create
Queries.deletequery
queries.delete
Queries.getquery
queries.get
Queries.listqueries
queries.list
Queries.runquery
queries.run
Reports.listreports
queries.reports.list
Atualizar para novos endpoints
Depois de identificar métodos equivalentes, é necessário atualizar suas solicitações. Para
exemplo, para chamar o método queries.getquery
com a v1.1, você usaria
o seguinte URL:
https://www.googleapis.com/doubleclickbidmanager/v1.1/query/queryId
Para chamar o método equivalente na v2, conhecido como queries.get
, atualize o
URL para o seguinte:
GET https://doubleclickbidmanager.googleapis.com/v2/queries/queryId
Se você estiver usando uma biblioteca de cliente para fazer solicitações à API, use a linguagem versão mais recente da biblioteca de cliente e atualizar sua configuração para usar a v2.
Faça as alterações necessárias
Estamos introduzindo várias alterações interruptivas na v2. Analise o seguinte e faça as alterações necessárias relevantes ao seu uso atual do a API Bid Manager.
Atualizar chamadas para o serviço queries
- Os seguintes campos no recurso
Query
originalmente representados por Os objetos aninhados foram alterados para usar os seguintes tipos de objetos: - Os seguintes campos no recurso
Query
originalmente representados por Os objetos list foram alterados para serem listas dos seguintes novos tipos de objeto: - Os seguintes campos no recurso
Query
, originalmente representados por são representadas por tipos de tipo enumerado na v2 e incluem o seguinte mudanças:- O equivalente v2 de
metadata.dataRange
agora usa oRange
tipo enumerado. Ao converter para esse tipo enumerado, o valorPREVIOUS_HALF_MONTH
foi removido, e o valorTYPE_NOT_SUPPORTED
mudou paraRANGE_UNSPECIFIED
metadata.format
agora usa o tipo enumeradoFormat
. Na conversão para esse tipo enumerado, o valorEXCEL_CSV
foi removido, e o valorFORMAT_UNSPECIFIED
foi adicionado.params.options.pathQueryOptions.channelGrouping.rules[].disjunctiveMatchStatements[].eventFilters[].dimensionFilter.match
eparams.options.pathQueryOptions.pathFilters[].eventFilters[].dimensionFilter.match
Agora use o tipo enumeradoMatch
.params.options.pathQueryOptions.pathFilters[].pathMatchPosition
agora usa o tipo enumeradoPathMatchPosition
. Ao converter para este tipo enumerado, o valorPATH_MATCH_POSITION_UNSPECIFIED
foi adicionado.schedule.frequency
agora usa o tipo enumeradoFrequency
. Em convertendo para esse tipo enumerado, o valorFREQUENCY_UNSPECIFIED
foi adicionado.params.type
agora usa o tipo enumeradoReportType
. Em convertendo para esse tipo enumerado, as seguintes alterações foram feitas:- Os seguintes valores foram descontinuados:
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
- Os valores restantes foram atualizados para refletir melhor
valores equivalentes na interface:
Valores da v1.1 Valor ReportType
equivalenteTYPE_NOT_SUPPORTED
REPORT_TYPE_UNSPECIFIED
TYPE_GENERAL
STANDARD
TYPE_INVENTORY_AVAILABILITY
INVENTORY_AVAILABILITY
TYPE_AUDIENCE_COMPOSITION
AUDIENCE_COMPOSITION
TYPE_ORDER_ID
FLOODLIGHT
TYPE_TRUEVIEW
YOUTUBE
TYPE_NIELSEN_SITE
GRP
TYPE_PETRA_NIELSEN_AUDIENCE_PROFILE
YOUTUBE_PROGRAMMATIC_GUARANTEED
TYPE_REACH_AND_FREQUENCY
REACH
TYPE_REACH_AUDIENCE
UNIQUE_REACH_AUDIENCE
TYPE_PATH
FULL_PATH
TYPE_PATH_ATTRIBUTION
PATH_ATTRIBUTION
- O equivalente v2 de
- Campos
metadata.dataRange
,reportDataStartTimeMs
ereportDataEndTimeMs
foram substituídos por camposrange
,customStartDate
ecustomEndDate
. Os novos campos de data usamDate
. em vez de milissegundos desde a Era Unix. Esses campos de substituição foram movidos para o objetoDataRange
atribuído ao No campodataRange
na objetoQueryMetadata
. - Campos
schedule.startTimeMs
eschedule.endTimeMs
foram substituídos por camposstartDate
eendDate
em objetoQuerySchedule
. Os novos campos de data usamDate
. em vez de milissegundos desde a Era Unix. - Campos
metadata.running
,metadata.reportCount
,metadata.googleCloudStoragePathForLatestReport
,metadata.googleDrivePathForLatestReport
metadata.latestReportRunTimeMs
foram removidos. As informações relativas aos relatórios gerados mais recentemente de uma consulta devem ser recuperados usando o métodoqueries.reports.list
com oorderBy
de "key.reportId desc" para garantir que a solicitação liste os relatórios mais recentes primeiro. - Campos
kind
,timezoneCode
,metadata.locale
,params.includeInviteData
schedule.nextRunMinuteOfDay
foram removidos. - O
queries.create
não executa mais consultas automaticamente após a criação e o parâmetro de consultaasynchronous
foi removido. Ligaçãoqueries.run
depois dequeries.create
para gerar relatórios de novas consultas. - O método
queries.run
foi atualizado das seguintes maneiras:- O parâmetro de consulta
asynchronous
foi substituído pelosynchronous
. O novo parâmetro de consulta opera com lógica inversa e é considerado falso se não for especificado. Dado Isso, oqueries.run
gera relatórios de forma assíncrona por padrão v2 em vez de síncrona, que é o padrão na v1.1. - O corpo da solicitação foi atualizado para remover a
timezoneCode
e substituadataRange
ereportDataStartTimeMs
reportDataEndTimeMs
com umDataRange
atribuído aodataRange
. - O método retorna o objeto
Report
resultante em vez de uma corpo da resposta vazio.
- O parâmetro de consulta
- O campo
kind
no corpo da respostaqueries.list
foi removido.
Atualizar chamadas para o serviço reports
- Os seguintes campos no recurso
Report
originalmente representado por objetos aninhados gerais foram alterados para usar os seguintes tipos de objeto: - Os seguintes campos no recurso
Report
originalmente representado por Os objetos da lista geral foram alterados para serem listas dos seguintes novos objetos: tipos: - Os seguintes campos no recurso
Report
originalmente representado por as strings foram alteradas, portanto, seus campos equivalentes na v2 são representados por novas tipos de enum e incluem mudanças em valores aceitáveis:metadata.status.format
agora usa o tipo enumeradoFormat
. Em convertendo para esse tipo enumerado, o valorEXCEL_CSV
foi removido eFORMAT_UNSPECIFIED
foi adicionado.metadata.status.state
agora usa o tipo enumeradoState
. Em convertendo para esse tipo enumerado, os valoresQUEUED
eSTATE_UNSPECIFIED
têm foi adicionado.params.options.pathQueryOptions.channelGrouping.rules[].disjunctiveMatchStatements[].eventFilters[].dimensionFilter.match
eparams.options.pathQueryOptions.pathFilters[].eventFilters[].dimensionFilter.match
Agora use o tipo enumeradoMatch
.params.options.pathQueryOptions.pathFilters[].pathMatchPosition
agora usa o tipo enumeradoPathMatchPosition
. Ao converter para este tipo enumerado, o valorPATH_MATCH_POSITION_UNSPECIFIED
foi adicionado.params.type
agora usa o tipo enumeradoReportType
. Em este enum foi convertido, várias mudanças foram feitas e estão listadas em na seção anterior sobre atualização de chamadas de serviço de consultas.
- Campos
metadata.reportDataStartTimeMs
emetadata.reportDataEndTimeMs
foram substituídos por camposreportDataStartDate
ereportDataEndDate
noReportMetadata
. Os novos campos usam ObjetosDate
em vez de milissegundos desde a época do Unix. metadata.status.finishTimeMs
foi substituído por no campofinishTime
na objetoReportStatus
. Esse novo campo de hora representa datetime como um carimbo de data/hora em RFC3339 UTC "Zulu" em vez de milésimos de segundo desde a Era Unix.metadata.status.failure
e Os camposparams.includeInviteData
foram removidos.- O campo
kind
no corpo da respostareports.list
tem tenha sido removido.
Atualizar a lógica de tratamento de erros
As mensagens de erro na API foram atualizadas na v2. Essas novas mensagens de erro são mais específicos e, em alguns casos, fornecem informações sobre os valores no campo solicitação de API que estão fazendo com que o erro seja retornado. Se o erro já existente a lógica de processamento depende do texto da mensagem de erro, generalize o erro processamento antes de migrar para a v2.