Interfejs API REST Ad Managera używa masek pól do częściowych odczytów i zapisów. Może to spowodować poprawić wydajność przez ograniczenie ilości przesyłanych danych. Maski pola są reprezentowane przez rozdzielaną przecinkami listę nazw pól. Na przykład:
startTime,endTime,targeting.geoTargeting
Odczytywanie masek
Maski odczytu określają, które pola występują w odpowiedzi interfejsu API. Możesz ustawić odczytu maski na żądanie na 2 sposoby:
Parametr zapytania
fields
:curl https://admanager.googleapis.com/v1/networks/123456/adUnits?fields=adUnits,nextPageToken,totalSize
Nagłówek HTTP
X-Goog-FieldMask
:curl -H "X-Goog-FieldMask: adUnits,nextPageToken,totalSize" \ https://admanager.googleapis.com/v1/networks/123456/adUnits
Domyślne maski odczytu
Niektóre metody interfejsu API obejmują domyślną maskę pól dla droższych pól
zwrócić. Przykładem mogą być metody tworzenia list. Domyślnie te dane nie są uwzględniane
totalSize
.
Te pola muszą być jawnie żądane w masce pola za pomocą nazwy lub przez
z użyciem symbolu wieloznacznego *
.
Zaktualizuj maski
Maski aktualizacji decydują o tym, które pola zostaną zmienione podczas aktualizacji (PATCH
)
użytkownika. Po ustawieniu maski aktualizacji aktualizowane będą tylko pola w masce
niezależnie od tego, które pola są ustawione w treści żądania.
Maski aktualizacji są ustawiane jako parametry zapytania. Na przykład:
curl -X PATCH https://admanager.googleapis.com/v1/networks/1234/order/4567?updateMask=displayName
Omijanie pola
Maski pól mogą określać pola w obrębie elementu za pomocą znaku .
dla
ich przemierzanie. To jest ta sama składnia, która jest używana przez
Filtry.
Maski pól są zawsze względem obiektu odpowiedzi. Na przykład maska dla
czytanie elementu LineItem
może obejmować primaryGoal.units
. Odpowiednia maska
do informacji o produkcie
LineItems
– lineItems.primaryGoal.units
.
Możesz określić całe pole lub jedno z jego pól podrzędnych. Obie opcje
Wartości primaryGoal
i primaryGoal.units
są prawidłowe.
Dotyczy to również pól powtarzanych. Maska pola LineItem
wartości
Pole creativePlaceholders.size
jest prawidłowe i zawiera tylko pole size
dla każdej wartości CreativePlaceholder
.
Symbole wieloznaczne
Maski pól obsługują znak *
, który oznacza wszystkie pola w wiadomości.
Poniższe przykłady pokazują użycie symboli wieloznacznych w wizytówkach
Orders
Ta metoda ma domyślną maskę odczytu, która:
nie dodawaj pola total_size
.
Przykład | Znaczenie |
---|---|
* |
Obejmuje wszystkie pola, w tym total_size |
orders |
Obejmuje tylko pole orders i wszystkie jego pola podrzędne |
orders.* |
Obejmuje tylko pole orders i wszystkie jego pola podrzędne |
Nieprawidłowe pola
Jeśli maska pola odnosi się do wartości, która nie istnieje, interfejs API odpowie
z błędem INVALID_ARGUMENT
.