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
QueriesiReportsw wersji 1.1 są znane jakqueriesiqueries.reportsw 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.createqueryqueries.createQueries.deletequeryqueries.deleteQueries.getqueryqueries.getQueries.listqueriesqueries.listQueries.runqueryqueries.runReports.listreportsqueries.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
Queryreprezentowane 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
Queryreprezentowane 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.dataRangew wersji 2 używa teraz interfejsuRangetyp wyliczeniowy. Podczas konwersji na tę wyliczenie wartośćPREVIOUS_HALF_MONTHzostała usunięto, a wartośćTYPE_NOT_SUPPORTEDzostała zmieniona naRANGE_UNSPECIFIED - Funkcja
metadata.formatużywa teraz wyliczeniaFormat. Przy konwersji wartośćEXCEL_CSVzostała usunięta, a wartość Dodano użytkownikaFORMAT_UNSPECIFIED. params.options.pathQueryOptions.channelGrouping.rules[].disjunctiveMatchStatements[].eventFilters[].dimensionFilter.matchorazparams.options.pathQueryOptions.pathFilters[].eventFilters[].dimensionFilter.matchużyj wyliczeniaMatch.params.options.pathQueryOptions.pathFilters[].pathMatchPositionużywa teraz tej funkcji wyliczeniePathMatchPosition. W konwersji na w tym wyliczeniu została dodana wartośćPATH_MATCH_POSITION_UNSPECIFIED.- Funkcja
schedule.frequencyużywa teraz wyliczeniaFrequency. W w celu konwersji na tę wyliczenie, została dodana wartośćFREQUENCY_UNSPECIFIED. - Funkcja
params.typeużywa teraz wyliczeniaReportType. W konwersji na tę wyliczenie, wprowadzono następujące zmiany: - Te wartości zostały wycofane:
TYPE_ACTIVE_GRPTYPE_AUDIENCE_PERFORMANCETYPE_CLIENT_SAFETYPE_COMSCORE_VCETYPE_CROSS_FEETYPE_CROSS_PARTNERTYPE_CROSS_PARTNER_THIRD_PARTY_DATA_PROVIDERTYPE_ESTIMATED_CONVERSIONTYPE_FEETYPE_KEYWORDTYPE_LINEAR_TV_SEARCH_LIFTTYPE_NIELSEN_AUDIENCE_PROFILETYPE_NIELSEN_DAILY_REACH_BUILDTYPE_NIELSEN_ONLINE_GLOBAL_MARKETTYPE_PAGE_CATEGORYTYPE_PETRA_NIELSEN_DAILY_REACH_BUILDTYPE_PETRA_NIELSEN_ONLINE_GLOBAL_MARKETTYPE_PIXEL_LOADTYPE_THIRD_PARTY_DATA_PROVIDERTYPE_TRUEVIEW_IARTYPE_VERIFICATIONTYPE_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 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
- Odpowiednik klasy
- Pola
metadata.dataRange,reportDataStartTimeMsi CzęśćreportDataEndTimeMszostała zastąpiona polamirange,customStartDateicustomEndDate. W nowych polach daty używane są wartościDatezamiast milisekund od początku epoki uniksowej. Te pola zastępcze zostały przeniesione do obiektuDataRangeprzypisanego dodataRangew poluQueryMetadataobiekt. - Pola
schedule.startTimeMsoraz Ciągschedule.endTimeMszostał zastąpiony polamistartDateiendDatewQuerySchedule. W nowych polach daty używane są wartościDatezamiast milisekund od początku epoki uniksowej. - Pola
metadata.running,metadata.reportCount,metadata.googleCloudStoragePathForLatestReport,metadata.googleDrivePathForLatestReportmetadata.latestReportRunTimeMszostały usunięte. Informacje o najnowszych wygenerowanych raportach dotyczących zapytania powinny można pobierać za pomocą metodyqueries.reports.listz parametremorderByparametr zapytania „key.reportId desc” do zagwarantuje, że w pierwszej kolejności w żądaniu zostaną wyświetlone najnowsze raporty. - Pola
kind,timezoneCode,metadata.locale,params.includeInviteDataschedule.nextRunMinuteOfDayzostały usunięte. queries.createnie uruchamia już automatycznie zapytań po utworzeniu i usunięto parametr zapytaniaasynchronous. Zadzwoń do nasqueries.runpoqueries.create, aby generować raporty dla: nowych zapytań.- Metoda
queries.runzostała zaktualizowana w ten sposób:- Parametr zapytania
asynchronouszostał 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.rungeneruje raporty asynchronicznie w v2, a nie synchronicznie, co jest ustawieniem domyślnym w wersji 1.1. - Treść żądania została zaktualizowana, aby usunąć
pole
timezoneCodei zastąpdataRange,reportDataStartTimeMs,reportDataEndTimeMspola z obiektDataRangeprzypisany dodataRange. - Metoda zwraca utworzony obiekt
Reportzamiast pusta treść odpowiedzi.
- Parametr zapytania
- Pole
kindw treści odpowiedziqueries.listzostał usunięty.
Zaktualizuj wywołania usługi reports
- Poniższe pola w zasobie
Reportreprezentowane pierwotnie przez ogólne zagnieżdżone obiekty zostały zmienione, aby korzystać z tych typów obiektów: - Poniższe pola w zasobie
Reportreprezentowane pierwotnie przez obiekty listy ogólnej zostały zmienione na listy tych nowych obiektów typy: - Poniższe pola w zasobie
Reportreprezentowane 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.formatużywa teraz wyliczeniaFormat. W przeliczając na tę wyliczenie, wartośćEXCEL_CSVzostała usunięta i Dodano użytkownikaFORMAT_UNSPECIFIED. - Funkcja
metadata.status.stateużywa teraz wyliczeniaState. W przekonwertowano na tę wyliczenie, wartościQUEUEDiSTATE_UNSPECIFIEDmają dodano. params.options.pathQueryOptions.channelGrouping.rules[].disjunctiveMatchStatements[].eventFilters[].dimensionFilter.matchorazparams.options.pathQueryOptions.pathFilters[].eventFilters[].dimensionFilter.matchużyj wyliczeniaMatch.params.options.pathQueryOptions.pathFilters[].pathMatchPositionużywa teraz tej funkcji wyliczeniePathMatchPosition. W konwersji na w tym wyliczeniu została dodana wartośćPATH_MATCH_POSITION_UNSPECIFIED.- Funkcja
params.typeuż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.reportDataStartTimeMsoraz Ciągmetadata.reportDataEndTimeMszostał zastąpiony przez polareportDataStartDateireportDataEndDateReportMetadata. W nowych polach są używane nazwyDatezamiast w milisekundach od początku epoki uniksowej. - Ciąg
metadata.status.finishTimeMszostał zastąpiony przez w polufinishTimew sekcjiReportStatusobiekt. To nowe pole godziny reprezentuje datetime jako sygnatura czasowa w RFC3339, UTC „Zulu” zamiast w milisekund od epoki uniksowej. metadata.status.failurei Usuniętoparams.includeInviteDatapól.- Pole
kindw treści odpowiedzireports.listzawiera 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.