Máscaras de campo

A API REST do Ad Manager usa máscaras de campo para leituras e gravações parciais. Isso pode melhorar o desempenho limitando a quantidade de dados transferidos. Máscaras de campo são representadas por uma lista separada por vírgulas de nomes de campos. Exemplo:

startTime,endTime,targeting.geoTargeting

Ler máscaras

As máscaras de leitura controlam quais campos estão presentes em uma resposta da API. Você pode definir um máscara de leitura na solicitação de duas maneiras:

  1. O parâmetro de consulta fields:

    curl https://admanager.googleapis.com/v1/networks/123456/adUnits?fields=adUnits,nextPageToken,totalSize
    
  2. O cabeçalho HTTP X-Goog-FieldMask:

    curl -H "X-Goog-FieldMask: adUnits,nextPageToken,totalSize" \
        https://admanager.googleapis.com/v1/networks/123456/adUnits
    
.

Máscaras de leitura padrão

Alguns métodos de API incluem uma máscara de campo padrão para campos que são caros para retornar. Os métodos de lista são um exemplo disso. Por padrão, eles não incluem totalSize .

Esses campos devem ser explicitamente solicitados na máscara de campo por nome ou por usando o caractere curinga *.

Atualizar máscaras

As máscaras de atualização controlam quais campos serão alterados em uma atualização (PATCH) solicitação. Quando uma máscara de atualização é definida, somente os campos na máscara são atualizados independentemente de quais campos são definidos no corpo da solicitação.

As máscaras de atualização são definidas como parâmetros de consulta. Exemplo:

curl -X PATCH https://admanager.googleapis.com/v1/networks/1234/order/4567?updateMask=displayName

Travessia de campos

As máscaras de campo podem especificar campos dentro de uma entidade usando o caractere . para travessia. Essa é a mesma sintaxe usada pelo Filtros.

As máscaras de campo são sempre relativas ao objeto de resposta. Por exemplo, uma máscara para ler um LineItem pode incluir primaryGoal.units. A máscara correspondente para listagem LineItems é lineItems.primaryGoal.units.

É possível especificar um campo como um todo ou um dos subcampos. Ambos primaryGoal e primaryGoal.units são válidos.

Isso também se aplica a campos repetidos. Uma máscara de campo LineItem de creativePlaceholders.size é válido e inclui apenas o campo size para cada CreativePlaceholder.

Caracteres curinga

As máscaras de campo são compatíveis com o caractere *, que indica todos os campos na mensagem. Os exemplos a seguir demonstram o uso de caracteres curinga ao listar Orders Esse método tem uma máscara de leitura padrão que: não incluem o campo total_size.

Exemplo Significado
* Inclui todos os campos, incluindo total_size
orders Inclui apenas o campo orders e todos os subcampos
orders.* Inclui apenas o campo orders e todos os subcampos

Campos inválidos

Se uma máscara de campo se referir a um valor que não existe, a API responderá com um erro INVALID_ARGUMENT.