É possível atualizar um único rótulo aplicando um conjunto de solicitações de atualização que resultam em
uma nova revisão de rascunho. Por exemplo, é possível atualizar uma propriedade de rótulo existente (a descrição do rótulo) ou adicionar um novo Field
ao rótulo.
A atualização do rótulo funciona como uma atualização em lote, já que o método recebe uma lista de objetos
Request
de atualização. Ele
faz atualizações de acordo com a mesma ordem especificada na solicitação em lote. As
atualizações na atualização em lote são aplicadas atomicamente. Ou seja, se qualquer solicitação no
lote falhar, a atualização inteira falhará, e nenhuma das
mudanças (potencialmente dependentes) será aplicada. O rótulo não é alterado.
Se a atualização for bem-sucedida, a revisão do rascunho resultante precisará ser publicada antes que as mudanças possam ser usadas com qualquer item do Drive.
Atualizar objetos de rótulo
Um rótulo inclui muitos outros tipos de objetos que podem ser atualizados, como:
- Propriedades do rótulo
- Campos e tipos de campo
- Opções de seleção e propriedades de opções de seleção
Estes são alguns dos muitos objetos que controlam a aparência e a operação de um rótulo.
Categorias de operação
As operações a seguir, com suporte do método
labels.delta
, podem ser
agrupadas nas seguintes categorias amplas:
Categoria | Descrição |
---|---|
Criação | Adicionar objetos. |
Atualizar | Atualizar determinadas propriedades de um objeto. |
Ativar | Ativar objetos. |
Desativar | Desativar objetos. |
Excluir | Remova objetos. |
Essas categorias são usadas na próxima seção para descrever o comportamento de operações específicas.
Solicitações de atualização
O método labels.delta
funciona
usando um ou mais
objetos Request, cada
um especificando um único tipo de solicitação a ser executado. Há muitos tipos
diferentes de solicitações. Confira uma análise dos tipos de solicitações, agrupadas em
diferentes categorias.
Tipo de solicitação | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Propriedades da etiqueta |
|
||||||||||
Campo |
|
||||||||||
Opção de seleção |
|
Máscaras de campo
Muitas das solicitações do tipo "Atualizar" e "Desativar" exigem um
FieldMask
.
É uma lista delimitada por vírgulas de campos que você quer atualizar sem alterar os
outros. A máscara é necessária para garantir que apenas os campos que você
quer editar sejam atualizados. É preciso especificar pelo menos um campo.
Exemplo
Para atualizar um rótulo, use o método delta
na coleção labels
.
Você também precisa especificar:
useAdminAccess
étrue
para usar as credenciais de administrador do usuário. O servidor verifica se o usuário é um administrador do marcador antes de permitir o acesso.Um
Request
que especifica as atualizações aplicáveis ao rótulo.Um rótulo
title
pelo métodoproperty
.Um ou mais
Field
.Um recurso de rótulo que representa todos os rótulos. Ele contém um recurso
Name
eID
, que é um identificador globalmente exclusivo do rótulo.LabelView
éLABEL_VIEW_FULL
para definir a visualização de recursos aplicada às respostas de rótulos.LABEL_VIEW_FULL
retorna todos os campos possíveis.
Este exemplo usa ID
para atualizar o rótulo correto.
Python
body = {
'use_admin_access': True,
'requests': [{
'update_label': {
'properties': {
'title': 'TITLE'
},
'update_mask': {
'paths': ['title']
}
},
}, {
'create_field': {
'field': {
'properties': {
'display_name': 'DISPLAY_NAME'
},
'text_options': {}
}
}
}],
'view': 'LABEL_VIEW_FULL'
}
response = service.labels().delta(
body=body,
name='labels/ID').execute()
Node.js
var body = {
'use_admin_access': true,
'requests': [{
'update_label': {
'properties': {
'title': 'TITLE'
},
'update_mask': {
'paths': ['title']
}
},
}, {
'create_field': {
'field': {
'properties': {
'display_name': 'DISPLAY_NAME'
},
'text_options': {}
}
}
}],
'view': 'LABEL_VIEW_FULL'
};
service.labels.delta({
'resource': body,
'name': 'labels/ID'
}, (err, res) => {
if (err) return console.error('The API returned an error: ' + err);
console.log(res);
});
O rótulo, o campo ou a escolha é atualizado, o ID de revisão do rótulo é incrementado
e o rótulo é armazenado em um banco de dados como um rascunho. O rótulo tem o
State
de PUBLISHED
com
hasUnpublishedChanges=true
, o que significa que há mudanças de rascunho, mas elas não estão
disponíveis para os usuários. O rótulo atualizado precisa ser PUBLISHED
antes que as mudanças
fiquem visíveis para os usuários. Para mais informações, consulte Ciclo de vida
do rótulo.