É 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, você pode 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. Ela 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 de forma atômica. Ou seja, se alguma solicitação no lote não for bem-sucedida, toda a atualização falhará e nenhuma das mudanças (possivelmente dependentes) será aplicada. O rótulo permanece inalterado.
Se a atualização for bem-sucedida, a revisão de 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 campos
- Opções de seleção e propriedades de opções de seleção
Esses 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 gerais:
| Categoria | Descrição |
|---|---|
| Criar | Adicionar objetos. |
| Atualizar | Atualizar determinadas propriedades de um objeto. |
| Ativar | Ativar objetos. |
| Desativar | Desativar objetos. |
| Excluir | Remover 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
recebendo um ou mais
objetos de solicitação, cada
um especificando um único tipo de solicitação a ser realizada. Há muitos tipos diferentes de solicitações. Confira um detalhamento dos tipos de solicitações, agrupadas em diferentes categorias.
| Tipo de solicitação | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Propriedades do rótulo |
|
||||||||||
| Campo |
|
||||||||||
| Opção de seleção |
|
||||||||||
Máscaras de campo
Muitas das solicitações do tipo "Atualizar" e "Desativar" exigem um
FieldMask.
Essa é uma lista de campos separados por vírgulas que você quer atualizar, deixando os outros campos inalterados. 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
delta método na
labels coleção.
Você também precisa especificar:
useAdminAccessétruepara usar as credenciais de administrador do usuário. O servidor verifica se o usuário é um administrador do rótulo antes de permitir o acesso.Um
Requestque especifica as atualizações aplicáveis ao rótulo.Um rótulo
titleusando o métodoproperty.Um ou mais
Field.Um recurso de rótulo que representa todos os rótulos. Ele contém um
Namee umIDde recurso, que é um identificador globalmente exclusivo para o rótulo.LabelViewéLABEL_VIEW_FULLpara definir a visualização de recursos aplicada às respostas de rótulo.LABEL_VIEW_FULLretorna todos os campos possíveis.
Este exemplo usa o 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 opção são atualizados, o ID de revisão do rótulo é incrementado e o rótulo é armazenado em um banco de dados como um rótulo de 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.