En esta página, se describe cómo anular la configuración de una etiqueta
Field
en un solo
Archivo de Google Drive.
Para eliminar metadatos de un archivo desactivando una etiqueta de archivo, usa el
files.modifyLabels
. El
cuerpo de la solicitud
contiene una instancia de
ModifyLabelsRequest
para modificar el conjunto de etiquetas de un archivo. La solicitud puede contener varios
las modificaciones que se aplican de forma atómica. Es decir, si alguna modificación no se
es válido, entonces no se realizará correctamente la actualización y no se
dependientes).
ModifyLabelsRequest
contiene una instancia de
LabelModification
que es una modificación de la etiqueta de un archivo. También puede contener una instancia
de
FieldModification
que es una modificación del campo de una etiqueta. Para quitar los valores del campo,
establece FieldModification.unsetValues
en True
.
Si tiene éxito, la respuesta
body contiene
las etiquetas que la solicitud agregó o actualizó. Existen en un
Objeto modifiedLabels
de tipo Label
.
Ejemplo
En la siguiente muestra de código, se indica cómo usar fieldId
y labelId
para anular la configuración
los valores de campo en el fileId
asociado. Por ejemplo, si una etiqueta contiene
campos de texto y de usuario; si se desactiva el campo de texto, se quitará de la etiqueta
pero deja el campo de usuario intacto. Mientras que, si se quita una etiqueta, se eliminan ambas partes
de texto y de usuario asociados con la etiqueta. Para obtener más información, consulta
Quita una etiqueta de un archivo.
Java
LabelFieldModification fieldModification =
new LabelFieldModification().setFieldId("FIELD_ID").setUnsetValues(true);
ModifyLabelsRequest modifyLabelsRequest =
new ModifyLabelsRequest()
.setLabelModifications(
ImmutableList.of(
new LabelModification()
.setLabelId("LABEL_ID")
.setFieldModifications(ImmutableList.of(fieldModification))));
ModifyLabelsResponse modifyLabelsResponse = driveService.files().modifyLabels("FILE_ID", modifyLabelsRequest).execute();
Python
field_modification = {'fieldId':'FIELD_ID','unsetValues':True}
label_modification = {'labelId':'LABEL_ID', 'fieldModifications':[field_modification]}
modified_labels = drive_service.files().modifyLabels(fileId="FILE_ID", body = {'labelModifications' : [label_modification]}).execute();
Node.js
/**
* Unset a label with a field on a Drive file
* @return{obj} updated label data
**/
async function unsetLabelField() {
// 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 fieldModification = {
'fieldId': 'FIELD_ID',
'unsetValues': True,
};
const labelModification = {
'labelId': 'LABEL_ID',
'fieldModifications': [fieldModification],
};
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:
- FIELD_ID: El
fieldId
del campo que se modificará. Para ubicar elfieldId
, recupera la etiqueta con el API de Google Drive Labels. - LABEL_ID: El
labelId
de la etiqueta que se modificará. - FILE_ID: El
fileId
del archivo para el que están las etiquetas modificados.