É possível atualizar um único rótulo aplicando um conjunto de solicitações de atualização, resultando em
uma nova revisão de rascunho. Por exemplo, é possível atualizar uma propriedade de rótulo atual (a descrição) ou adicionar uma nova Field
a ele.
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 as 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 alguma solicitação no lote não for bem-sucedida, toda a atualização falhará e nenhuma das alterações (potencialmente dependentes) será aplicada. O rótulo não foi alterado.
Se a atualização for bem-sucedida, a revisão de rascunho resultante precisará ser publicada antes que as alterações possam ser usadas em qualquer item do Drive.
Atualizar objetos de rótulo
Um rótulo inclui muitos outros tipos de objeto que podem ser atualizados, como:
- Propriedades do marcador
- Campos e tipos de campo
- Opções de seleção e Propriedades da Opção da seleção
Esses são alguns dos vários objetos que controlam a aparência e a operação de um rótulo.
Categorias de operação
As operações abaixo compatíveis com o
método labels.delta
podem ser
agrupadas nestas categorias amplas:
Categoria | Descrição |
---|---|
Criação | adicionar objetos; |
Atualizar | Atualizar determinadas propriedades de um objeto. |
Ativar | Ativar objetos. |
Desativar | Desative 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
usa um ou mais objetos Request, cada um especificando um único tipo de solicitação a ser executada. Há muitos tipos
diferentes de solicitações. Veja um detalhamento dos tipos de solicitações, agrupados em diferentes categorias.
Tipo de solicitação | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Propriedades do rótulo |
|
||||||||||
Campo |
|
||||||||||
Escolha da seleção |
|
Máscaras de campo
Muitas das solicitações de tipo "Atualizar" e "Desativar" exigem um
FieldMask
.
Essa é uma lista de campos delimitada por vírgulas que você quer atualizar, deixando os
outros inalterados. A máscara é necessária para garantir que apenas os campos que você
quer editar sejam atualizados. É necessário especificar pelo menos um campo.
Exemplo
Para atualizar um rótulo, use o método
delta
na
coleção labels
.
Também é necessário especificar:
useAdminAccess
étrue
para 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
Request
que especifica as atualizações aplicáveis ao rótulo.Um rótulo
title
pelo métodoproperty
.Um ou mais
Field
.Um recurso Rótulo que representa cada rótulo. 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 marcadores.LABEL_VIEW_FULL
retorna todos os campos possíveis.
Neste exemplo, o ID
é usado 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 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 no rascunho, mas elas não estão
disponíveis para os usuários. O rótulo atualizado precisa ser PUBLISHED
para que as mudanças
fiquem visíveis para os usuários. Para mais informações, consulte Ciclo de vida
do rótulo.