É possível atualizar um único marcador usando a API Google Drive Labels aplicando um conjunto de solicitações de atualização que resultam em uma nova revisão de rascunho. Por exemplo, você pode atualizar
um marcador existente
Properties (a
descrição básica do marcador) ou adicionar um novo
Field ao marcador.
A atualização do marcador 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 marcador 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 Google Drive.
Atualizar objetos de marcador
Um marcador inclui muitos outros tipos de objetos que podem ser atualizados, como:
Propertiesdo marcador- Objetos
Fielde tipos de campo Choicede seleção ePropertiesde escolha de seleção
Esses são alguns dos muitos objetos que controlam a aparência e a operação de um marcador.
Categorias de operação
As operações a seguir com suporte do
delta método no
labels recurso 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 delta funciona usando 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.
| Solicitar objeto | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Propriedades do marcador |
|
||||||||||
| Campo |
|
||||||||||
| Escolha de seleção |
|
||||||||||
Máscaras de campo
Muitas das solicitações do tipo "Atualizar" e "Desativar" exigem uma
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 marcador, use o
delta método no
labels recurso.
Você também precisa especificar:
O parâmetro de consulta
useAdminAccessestá definido comotruepara usar as credenciais de administrador do usuário. Antes de permitir o acesso, o servidor verifica se o usuário tem os privilégios de administrador de rótulos de classificação necessários.Uma
Requestque especifica as atualizações aplicáveis ao marcador.Um
titlede marcador peloPropertiesobjeto.Um ou mais
Fieldobjetos.Um recurso
labelsque representa o marcador. Ele contém umnamee umid, que é um identificador globalmente exclusivo do marcador.Um objeto
LabelViewcomoLABEL_VIEW_FULLpara definir uma visualização de recurso que é aplicada às respostas de marcador.LABEL_VIEW_FULLretorna todos os campos possíveis.
O exemplo de código a seguir mostra como usar o id do marcador para atualizar o marcador correto:
Python
body = {
'useAdminAccess': True,
'requests': [
{
'updateLabel': {
'properties': {
'title': 'TITLE'
},
'updateMask': 'title'
}
},
{
'createField': {
'field': {
'properties': {
'displayName': 'DISPLAY_NAME'
},
'textOptions': {}
}
}
}
],
'view': 'LABEL_VIEW_FULL'
}
response = service.labels().delta(
body=body,
name='labels/ID'
).execute()
Node.js
var body = {
'useAdminAccess': true,
'requests': [
{
'updateLabel': {
'properties': {
'title': 'TITLE'
},
'updateMask': 'title'
}
},
{
'createField': {
'field': {
'properties': {
'displayName': 'DISPLAY_NAME'
},
'textOptions': {}
}
}
}
],
'view': 'LABEL_VIEW_FULL'
};
service.labels.delta({
name: 'labels/ID',
requestBody: body
}, (err, res) => {
if (err) return console.error('The API returned an error: ' + err);
console.log(res);
});
Substitua:
- TITLE: o título do marcador.
- DISPLAY_NAME: o nome de exibição do campo.
- ID: o ID do marcador.
O marcador, o campo ou a escolha são atualizados, o ID da revisão do marcador é incrementado e o marcador é armazenado em um banco de dados como um marcador de rascunho. O marcador tem o
State de PUBLISHED
com
hasUnpublishedChanges
definido como true o que significa que há mudanças de rascunho, mas elas não estão disponíveis para
os usuários. O marcador 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 marcador.