En esta página, se describe cómo quitar una etiqueta de un solo archivo de Google Drive.
Para quitar los metadatos de la etiqueta de archivo de un archivo, usa el
files.modifyLabels método. El
cuerpo de la solicitud
contiene una instancia de
ModifyLabelsRequest
para modificar el conjunto de etiquetas en un archivo. La solicitud puede contener varias modificaciones que se aplican de forma atómica. Es decir, si alguna modificación no es válida, toda la actualización no se realiza correctamente y no se aplica ninguno de los cambios (potencialmente dependientes).
El ModifyLabelsRequest contiene una instancia de
LabelModification
que es una modificación de una etiqueta en un archivo. También puede contener una instancia
de
FieldModification
que es una modificación del campo de una etiqueta. Para quitar la etiqueta del archivo, establece FieldModification.removeLabel en True.
Si se realiza correctamente, el cuerpo
de la respuesta contiene
las etiquetas agregadas o actualizadas por la solicitud. Estas existen dentro de un
modifiedLabels objeto de tipo Label.
Ejemplo
En el siguiente ejemplo de código, se muestra cómo usar el labelId para quitar todos los campos asociados con la etiqueta mediante el fileId. Por ejemplo, si una etiqueta contiene
campos de texto y de usuario, quitar una etiqueta borra ambos campos de texto y de usuario
asociados con la etiqueta. En cambio, si anulas la configuración del campo de texto, se quita
de la etiqueta, pero el campo de usuario permanece intacto. Para obtener más información, consulta
Cómo anular la configuración de un campo de etiqueta en un archivo.
Java
ModifyLabelsRequest modifyLabelsRequest =
new ModifyLabelsRequest()
.setLabelModifications(
ImmutableList.of(
new LabelModification()
.setLabelId("LABEL_ID")
.setRemoveLabel(true)));
ModifyLabelsResponse modifyLabelsResponse = driveService.files().modifyLabels("FILE_ID", modifyLabelsRequest).execute();
Python
label_modification = {'labelId':'LABEL_ID', 'removeLabel': True]}
modified_labels = drive_service.files().modifyLabels(fileId="FILE_ID", body = {'labelModifications' : [label_modification]}).execute();
Node.js
/**
* Remove a label on a Drive file
* @return{obj} updated label data
**/
async function removeLabel() {
// Get credentials and build service
// TODO (developer) - Use appropriate auth mechanism for your app
const {GoogleAuth} = require('google-auth-library');
const {google} = require('googleapis');
const auth = new GoogleAuth({scopes: 'https://www.googleapis.com/auth/drive'});
const service = google.drive({version: 'v3', auth});
const labelModification = {
'labelId': 'LABEL_ID',
'removeLabel': True,
};
const labelModificationRequest = {
'labelModifications': [labelModification],
};
try {
const updateResponse = await service.files.modifyLabels({
fileId: 'FILE_ID',
resource: labelModificationRequest,
});
return updateResponse;
} catch (err) {
// TODO (developer) - Handle error
throw err;
}
Reemplaza lo siguiente:
- LABEL_ID: El
labelIdde la etiqueta que se modificará. Para ubicar las etiquetas en un archivo, usa elfiles.listLabelsmétodo. - FILE_ID: El
fileIddel archivo para el que se modifican las etiquetas.