W marcu 2022 roku opublikowaliśmy wersję 2 interfejsu Bid Manager API. Biorąc pod uwagę tej nowej wersji planujemy wkrótce ogłosić datę wycofania wersji 1.1. Śr zalecamy jak najszybsze rozpoczęcie migracji z wersji 1.1 do wersji 2.
Migracja aplikacji
Migracja z wersji 1.1 do wersji 2 wymaga zaktualizowania adresów URL punktów końcowych, aby wywoływały wersję 2. na zaktualizowanie aplikacji tak, aby uwzględnić zmiany powodujące niezgodność.
Zaktualizuj wywołania interfejsu API z wersji 1.1 do 2
Aby używać wersji 2 zamiast 1.1, musisz zaktualizować swoje żądania, tak aby używały nowej wersji 2 i punktów końcowych.
Określ równoważne metody
Aby zaktualizować wywołania interfejsu API z wersji 1.1 do 2, musisz najpierw określić równoważne metody wersji v1.1 w wersji 2.
Następujące nazwy wszystkich usług i metod nieco się zmieniły między v1.1 i v2:
- Usługi
Queries
iReports
w wersji 1.1 są znane jakqueries
iqueries.reports
w wersji 2. - W wersji 2 metody zostały zmienione w następujący sposób:
Nazwa metody w wersji 1.1 Równoważna metoda w wersji 2 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
Aktualizacja do nowych punktów końcowych
Po znalezieniu równoważnych metod musisz zaktualizować żądania. Dla:
na przykład do wywołania metody queries.getquery
z wersją 1.1 należy użyć
ten adres URL:
https://www.googleapis.com/doubleclickbidmanager/v1.1/query/queryId
Aby wywołać odpowiednik metody w wersji 2, czyli queries.get
, zaktualizuj funkcję
Adres URL do:
GET https://doubleclickbidmanager.googleapis.com/v2/queries/queryId
Jeśli używasz biblioteki klienta do wysyłania żądań do interfejsu API, użyj najczęściej należy zaktualizować bibliotekę klienta i zaktualizować konfigurację, aby korzystała z wersji v2.
Wprowadzanie wymaganych zmian
W wersji 2 wprowadzamy szereg zmian powodujących niezgodność. Zapoznaj się z tymi informacjami: instrukcji i wprowadź wymagane zmiany odpowiednio do istniejącego sposobu korzystania Interfejs API usługi Bid Manager.
Zaktualizuj wywołania usługi queries
- Poniższe pola w zasobie
Query
reprezentowane pierwotnie przez wartość ogólną obiekty zagnieżdżone zmieniły się, aby korzystały z tych typów obiektów: - Poniższe pola w zasobie
Query
reprezentowane pierwotnie przez wartość ogólną Obiekty listy zostały zmienione na listy tych nowych typów obiektów: - Poniższe pola w zasobie
Query
, pierwotnie reprezentowane przez ciągi tekstowe są reprezentowane przez typy wyliczeniowe w wersji v2 i zawierają następujące zmiany:- Odpowiednik klasy
metadata.dataRange
w wersji 2 używa teraz interfejsuRange
typ wyliczeniowy. Podczas konwersji na tę wyliczenie wartośćPREVIOUS_HALF_MONTH
została usunięto, a wartośćTYPE_NOT_SUPPORTED
została zmieniona naRANGE_UNSPECIFIED
- Funkcja
metadata.format
używa teraz wyliczeniaFormat
. Przy konwersji wartośćEXCEL_CSV
została usunięta, a wartość Dodano użytkownikaFORMAT_UNSPECIFIED
. params.options.pathQueryOptions.channelGrouping.rules[].disjunctiveMatchStatements[].eventFilters[].dimensionFilter.match
orazparams.options.pathQueryOptions.pathFilters[].eventFilters[].dimensionFilter.match
użyj wyliczeniaMatch
.params.options.pathQueryOptions.pathFilters[].pathMatchPosition
używa teraz tej funkcji wyliczeniePathMatchPosition
. W konwersji na w tym wyliczeniu została dodana wartośćPATH_MATCH_POSITION_UNSPECIFIED
.- Funkcja
schedule.frequency
używa teraz wyliczeniaFrequency
. W w celu konwersji na tę wyliczenie, została dodana wartośćFREQUENCY_UNSPECIFIED
. - Funkcja
params.type
używa teraz wyliczeniaReportType
. W konwersji na tę wyliczenie, wprowadzono następujące zmiany: - Te wartości zostały wycofane:
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
- Wszystkie pozostałe wartości zostały zaktualizowane, aby lepiej odzwierciedlić
równoważne wartości w interfejsie użytkownika:
Wartości w wersji 1.1 Odpowiednik wartości ReportType
TYPE_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
- Odpowiednik klasy
- Pola
metadata.dataRange
,reportDataStartTimeMs
i CzęśćreportDataEndTimeMs
została zastąpiona polamirange
,customStartDate
icustomEndDate
. W nowych polach daty używane są wartościDate
zamiast milisekund od początku epoki uniksowej. Te pola zastępcze zostały przeniesione do obiektuDataRange
przypisanego dodataRange
w poluQueryMetadata
obiekt. - Pola
schedule.startTimeMs
oraz Ciągschedule.endTimeMs
został zastąpiony polamistartDate
iendDate
wQuerySchedule
. W nowych polach daty używane są wartościDate
zamiast milisekund od początku epoki uniksowej. - Pola
metadata.running
,metadata.reportCount
,metadata.googleCloudStoragePathForLatestReport
,metadata.googleDrivePathForLatestReport
metadata.latestReportRunTimeMs
zostały usunięte. Informacje o najnowszych wygenerowanych raportach dotyczących zapytania powinny można pobierać za pomocą metodyqueries.reports.list
z parametremorderBy
parametr zapytania „key.reportId desc” do zagwarantuje, że w pierwszej kolejności w żądaniu zostaną wyświetlone najnowsze raporty. - Pola
kind
,timezoneCode
,metadata.locale
,params.includeInviteData
schedule.nextRunMinuteOfDay
zostały usunięte. queries.create
nie uruchamia już automatycznie zapytań po utworzeniu i usunięto parametr zapytaniaasynchronous
. Zadzwoń do nasqueries.run
poqueries.create
, aby generować raporty dla: nowych zapytań.- Metoda
queries.run
została zaktualizowana w ten sposób:- Parametr zapytania
asynchronous
został zastąpiony parametremsynchronous
. Nowy parametr zapytania działa z odwrotną logiką i jeśli nie zostanie określona, jest uznawana za fałsz. Udzielone to domyślniequeries.run
generuje raporty asynchronicznie w v2, a nie synchronicznie, co jest ustawieniem domyślnym w wersji 1.1. - Treść żądania została zaktualizowana, aby usunąć
pole
timezoneCode
i zastąpdataRange
,reportDataStartTimeMs
,reportDataEndTimeMs
pola z obiektDataRange
przypisany dodataRange
. - Metoda zwraca utworzony obiekt
Report
zamiast pusta treść odpowiedzi.
- Parametr zapytania
- Pole
kind
w treści odpowiedziqueries.list
został usunięty.
Zaktualizuj wywołania usługi reports
- Poniższe pola w zasobie
Report
reprezentowane pierwotnie przez ogólne zagnieżdżone obiekty zostały zmienione, aby korzystać z tych typów obiektów: - Poniższe pola w zasobie
Report
reprezentowane pierwotnie przez obiekty listy ogólnej zostały zmienione na listy tych nowych obiektów typy: - Poniższe pola w zasobie
Report
reprezentowane pierwotnie przez ciągi znaków uległy zmianie, więc ich pola równoważne w wersji 2 są reprezentowane przez nowe wyliczeniowe i uwzględnij zmiany akceptowalnych wartości:- Funkcja
metadata.status.format
używa teraz wyliczeniaFormat
. W przeliczając na tę wyliczenie, wartośćEXCEL_CSV
została usunięta i Dodano użytkownikaFORMAT_UNSPECIFIED
. - Funkcja
metadata.status.state
używa teraz wyliczeniaState
. W przekonwertowano na tę wyliczenie, wartościQUEUED
iSTATE_UNSPECIFIED
mają dodano. params.options.pathQueryOptions.channelGrouping.rules[].disjunctiveMatchStatements[].eventFilters[].dimensionFilter.match
orazparams.options.pathQueryOptions.pathFilters[].eventFilters[].dimensionFilter.match
użyj wyliczeniaMatch
.params.options.pathQueryOptions.pathFilters[].pathMatchPosition
używa teraz tej funkcji wyliczeniePathMatchPosition
. W konwersji na w tym wyliczeniu została dodana wartośćPATH_MATCH_POSITION_UNSPECIFIED
.- Funkcja
params.type
używa teraz wyliczeniaReportType
. W konwersji na tę wartość enum, wprowadzono wiele zmian i są one wymienione wspomnieliśmy w poprzedniej sekcji na temat aktualizowania wywołań usługi zapytań.
- Funkcja
- Pola
metadata.reportDataStartTimeMs
oraz Ciągmetadata.reportDataEndTimeMs
został zastąpiony przez polareportDataStartDate
ireportDataEndDate
ReportMetadata
. W nowych polach są używane nazwyDate
zamiast w milisekundach od początku epoki uniksowej. - Ciąg
metadata.status.finishTimeMs
został zastąpiony przez w polufinishTime
w sekcjiReportStatus
obiekt. To nowe pole godziny reprezentuje datetime jako sygnatura czasowa w RFC3339, UTC „Zulu” zamiast w milisekund od epoki uniksowej. metadata.status.failure
i Usuniętoparams.includeInviteData
pól.- Pole
kind
w treści odpowiedzireports.list
zawiera zostały usunięte.
Zaktualizuj logikę obsługi błędów
Komunikaty o błędach wyświetlane w interfejsie API zostały zaktualizowane w wersji 2. Nowe komunikaty o błędach są bardziej szczegółowe, a w niektórych przypadkach podaj informacje o wartościach żądania do interfejsu API, które powoduje zwrócenie błędu. Jeśli istniejący błąd obsługa logiki zależy od konkretnego tekstu komunikatu o błędzie, uogólnij błąd obsługi przed migracją do wersji 2.