La API de REST de Ad Manager usa máscaras de campo para lecturas y escrituras parciales. Esto puede y mejorar el rendimiento limitando la cantidad de datos transferidos. Máscaras de campo se representan con una lista separada por comas de nombres de campos. Por ejemplo:
startTime,endTime,targeting.geoTargeting
Máscaras de lectura
Las máscaras de lectura controlan qué campos están presentes en una respuesta de la API. Puedes establecer un leer máscara en tu solicitud de dos maneras:
El parámetro de consulta
fields
tiene las siguientes características:curl https://admanager.googleapis.com/v1/networks/123456/adUnits?fields=adUnits,nextPageToken,totalSize
El encabezado HTTP
X-Goog-FieldMask
:curl -H "X-Goog-FieldMask: adUnits,nextPageToken,totalSize" \ https://admanager.googleapis.com/v1/networks/123456/adUnits
Máscaras de lectura predeterminadas
Algunos métodos de la API incluyen una máscara de campo predeterminada para los campos que son costosos.
para regresar. Los métodos list son un ejemplo de esto. De forma predeterminada, no incluyen
el totalSize
.
Estos campos deben solicitarse explícitamente en la máscara de campo, ya sea por su nombre o por
con el comodín *
Actualizar máscaras
Las máscaras de actualización controlan qué campos se cambiarán en una actualización (PATCH
)
para cada solicitud. Cuando se configura una máscara de actualización, solo se actualizan los campos de la máscara.
independientemente de los campos
que se establezcan en el cuerpo de la solicitud.
Las máscaras de actualización se configuran como parámetros de consulta. Por ejemplo:
curl -X PATCH https://admanager.googleapis.com/v1/networks/1234/order/4567?updateMask=displayName
Recorrido de campo
Las máscaras de campo pueden especificar campos dentro de una entidad con el carácter .
para
recorrido. Esta es la misma sintaxis que usa
Filtros.
Las máscaras de campo siempre son relativas al objeto de respuesta. Por ejemplo, una máscara para
leer un LineItem
podría incluir primaryGoal.units
. La máscara correspondiente
para la ficha
LineItems
es lineItems.primaryGoal.units
.
Puedes especificar un campo completo o uno de sus subcampos. Ambas opciones
primaryGoal
y primaryGoal.units
son válidos.
Esto también se aplica a los campos repetidos. Una máscara de campo LineItem
de
creativePlaceholders.size
es válido y solo incluye el campo size
para cada CreativePlaceholder
.
Comodines
Las máscaras de campo admiten el carácter *
, que indica todos los campos del mensaje.
En los siguientes ejemplos, se muestra el uso de comodines cuando se enumeran
Orders
Este método tiene una máscara de lectura predeterminada que
incluir el campo total_size
.
Ejemplo | Significado |
---|---|
* |
Incluye todos los campos, incluido total_size |
orders |
Incluye solo el campo orders y todos sus subcampos |
orders.* |
Incluye solo el campo orders y todos sus subcampos |
Campos no válidos
Si una máscara de campo hace referencia a un valor que no existe, la API responderá
con un error INVALID_ARGUMENT
.