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,totalSizeNagłó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 nieistniejącej wartości, interfejs API odpowie błędem INVALID_ARGUMENT.