Puedes actualizar una sola etiqueta si aplicas un conjunto de solicitudes de actualización que dan como resultado una nueva revisión de borrador. Por ejemplo, puedes actualizar una propiedad de etiqueta existente
(la descripción de la etiqueta
) o agregar un nuevo
Field a la etiqueta.
La actualización de la etiqueta 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 en la actualización por lotes se aplican de forma atómica. Es decir, si alguna solicitud en el lote no se realiza correctamente, toda la actualización no se realizará correctamente y no se aplicará ninguno de los cambios (potencialmente dependientes). La etiqueta no se modifica.
Si la actualización se realiza correctamente, se debe publicar la revisión de borrador resultante antes de que se puedan usar los cambios con cualquier elemento de Drive.
Actualiza objetos de etiquetas
Una etiqueta incluye muchos otros tipos de objetos que se pueden actualizar, como los siguientes:
- Propiedades de etiquetas
- 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 operación
Las siguientes operaciones compatibles con el método
labels.delta se pueden
agrupar en las siguientes categorías generales:
| Categoría | Descripción |
|---|---|
| Crear | Agrega objetos. |
| Actualizar | Actualiza ciertas propiedades de un objeto. |
| Habilitar | Habilita objetos. |
| Inhabilitar | Inhabilita objetos. |
| Borrar | Quita objetos. |
Estas categorías se usan en la siguiente sección para describir el comportamiento de operaciones específicas.
Solicitudes de actualización
El método labels.delta funciona
tomando uno o más
objetos de solicitud, cada
uno de los cuales especifica un solo tipo de solicitud para realizar. Hay muchos tipos diferentes de solicitudes. A continuación, se muestra un desglose de los tipos de solicitudes, agrupados en diferentes categorías.
| Tipo de solicitud | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Propiedades de etiquetas |
|
||||||||||
| Campo |
|
||||||||||
| Opción de selección |
|
||||||||||
Máscaras de campo
Muchas de las solicitudes de tipo "Actualizar" y "Inhabilitar" requieren un
FieldMask.
Esta es una lista de campos delimitada por comas que deseas actualizar mientras dejas los demás campos sin cambios. La máscara es necesaria para asegurarse de que solo se actualicen los campos que deseas editar. Debes especificar al menos un campo.
Ejemplo
Para actualizar una etiqueta, usa el
delta método en la
labels colección.
También debes especificar lo siguiente:
useAdminAccessestruepara usar las credenciales de administrador del usuario. El servidor verifica que el usuario sea administrador de la etiqueta antes de permitir el acceso.Un
Requestque especifica las actualizaciones aplicables a la etiqueta.Un
titlede etiqueta a través delpropertymétodo.Uno o más
Field.Un recurso de etiqueta que representa cada etiqueta. Contiene un recurso
NameyID, que es un identificador único global para la etiqueta.LabelViewesLABEL_VIEW_FULLpara establecer la vista de recursos aplicada a las respuestas de etiquetas.LABEL_VIEW_FULLmuestra todos los campos posibles.
En este ejemplo, se usa el 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 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 de borrador, pero no están
disponibles para los usuarios. La etiqueta actualizada debe ser PUBLISHED para que los cambios sean visibles para los usuarios. Para obtener más información, consulta Ciclo de vida de las etiquetas.