Puedes actualizar una sola etiqueta con la API de Google Drive Labels aplicando un conjunto de solicitudes de actualización que dan como resultado una nueva revisión de borrador. Por ejemplo, puedes actualizar
una etiqueta existente
Properties (la
descripción básica 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
Request
de actualización. 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 del lote no es satisfactoria, toda la actualización no será satisfactoria y no se aplicará ninguno de los cambios (potencialmente dependientes). La etiqueta no se modifica.
Si la actualización es satisfactoria, se debe publicar la revisión de borrador resultante antes de que se puedan usar los cambios con cualquier elemento de Google Drive.
Actualizar objetos de etiqueta
Una etiqueta incluye muchos otros tipos de objetos que se pueden actualizar, como los siguientes:
- Etiqueta
Properties - Objetos
Fieldy tipos de campos - Selección
Choicey Selección ChoiceProperties
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 admitidas por el
delta método en el
labels recurso 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 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. Aquí tienes un desglose de los tipos de solicitudes, agrupados en diferentes categorías.
| Objeto de solicitud | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Propiedades de la etiqueta |
|
||||||||||
| 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 el
labels recurso.
También debes especificar lo siguiente:
El parámetro de consulta
useAdminAccessse establece entruepara usar las credenciales de administrador del usuario. Antes de permitir el acceso, el servidor verifica que el usuario tenga los privilegios de administrador deetiquetas de clasificación de administración necesarios.Un
Requestque especifica las actualizaciones aplicables a la etiqueta.Una etiqueta
titlea través delPropertiesobjeto.Uno o más
Fieldobjetos.Un recurso
labelsque representa la etiqueta. Contiene unnamey unid, que es un identificador único global para la etiqueta.Un objeto
LabelViewcomoLABEL_VIEW_FULLpara establecer una vista de recursos que se aplica a las respuestas de etiquetas.LABEL_VIEW_FULLmuestra todos los campos posibles.
En la siguiente muestra de código, se muestra cómo usar el id de la etiqueta para actualizar la etiqueta correcta:
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);
});
Reemplaza lo siguiente:
- TITLE: Es el título de la etiqueta.
- DISPLAY_NAME: Es el nombre visible del campo.
- ID: Es el ID de la etiqueta.
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
establecido en true, lo que significa que hay cambios de borrador, pero no están disponibles para los
usuarios. La etiqueta actualizada debe ser PUBLISHED antes de que los cambios se vuelvan visibles para los usuarios. Para obtener más información, consulta Ciclo de vida de las etiquetas.