Anula la configuración de un campo de etiqueta en un archivo

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 el fieldId, 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 modificado.