Para actualizar una sola etiqueta, aplica un conjunto de solicitudes de actualización que genere una nueva revisión de borrador. Por ejemplo, puedes actualizar una propiedad de etiqueta existente (la descripción de la etiqueta) o agregar un Field
nuevo a la etiqueta.
La actualización de etiquetas actúa como una actualización por lotes, ya que el método toma una lista de objetos de actualización Request
. Realiza actualizaciones según el mismo orden especificado en la solicitud por lotes. Las actualizaciones de la actualización por lotes se aplican de forma atómica. Es decir, si alguna solicitud del lote no se realiza correctamente, no se realiza la actualización completa y no se aplica ninguno de los cambios (potencialmente dependientes). La etiqueta no se modifica.
Si la actualización se realiza correctamente, se debe publicar la revisión del borrador resultante antes de que se puedan usar los cambios con cualquier elemento de Drive.
Actualiza objetos de etiqueta
Una etiqueta incluye muchos otros tipos de objetos que se pueden actualizar, como los siguientes:
- Propiedades de la etiqueta
- Campos y tipos de campos
- Opciones de selección y propiedades de opciones de selección
Estos son algunos de los muchos objetos que controlan la apariencia y el funcionamiento de una etiqueta.
Categorías de las operaciones
Las siguientes operaciones compatibles con el método labels.delta
se pueden agrupar en las siguientes categorías amplias:
Categoría | Descripción |
---|---|
Creación | Agrega objetos. |
Actualiza | Actualiza ciertas propiedades de un objeto. |
Habilitar | Habilita los objetos. |
Inhabilitar | Inhabilita objetos. |
Borrar | Quita objetos. |
En la siguiente sección, se usan estas categorías para describir el comportamiento de operaciones específicas.
Solicitudes de actualización
El método labels.delta
funciona tomando uno o más objetos Request, cada uno de los cuales especifica un solo tipo de solicitud que se debe realizar. Existen muchos tipos diferentes de solicitudes. A continuación, se ofrece un desglose de los tipos de solicitudes, agrupados en
distintas categorías.
Tipo de solicitud | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Propiedades de la etiqueta |
|
||||||||||
Campo |
|
||||||||||
Selección de opciones |
|
Máscaras de campo
Muchas de las solicitudes de tipo “Actualizar” y “Inhabilitar” requieren un FieldMask
.
Esta es una lista de campos separados por comas que deseas actualizar sin modificar los demás campos. La máscara es necesaria para garantizar que solo se actualicen los campos que desees editar. Debes especificar al menos un campo.
Ejemplo
Para actualizar una etiqueta, usa el método delta
en la colección labels
.
También debes especificar lo siguiente:
useAdminAccess
estrue
para usar las credenciales de administrador del usuario. El servidor verifica que el usuario sea administrador de la etiqueta antes de permitir el acceso.Un
Request
que especifica las actualizaciones aplicables a la etiqueta.Una etiqueta
title
a través del métodoproperty
Uno o más
Field
Un recurso de etiqueta que representa cada etiqueta. Contiene un recurso
Name
yID
, que es un identificador único a nivel global para la etiqueta.LabelView
esLABEL_VIEW_FULL
para establecer la vista de recursos que se aplica a las respuestas de etiqueta.LABEL_VIEW_FULL
muestra todos los campos posibles.
En este ejemplo, se usa ID
para actualizar la etiqueta correcta.
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);
});
Se actualiza la etiqueta, el campo o la opción, se incrementa el ID de revisión de la etiqueta y esta se almacena en una base de datos como una etiqueta de borrador. La etiqueta tiene el State
de PUBLISHED
con hasUnpublishedChanges=true
, lo que significa que hay cambios en el borrador, pero no están disponibles para los usuarios. La etiqueta actualizada debe ser PUBLISHED
antes de que los cambios sean visibles para los usuarios. Para obtener más información, consulta Ciclo de vida de las etiquetas.