Rimuovere un'etichetta da un file

In questa pagina viene descritto come rimuovere un'etichetta da un singolo file di Google Drive.

Per rimuovere i metadati delle etichette dei file da un file, utilizza il metodo files.modifyLabels. Il corpo della richiesta contiene un'istanza di ModifyLabelsRequest per modificare l'insieme di etichette su un file. La richiesta potrebbe contenere diverse modifiche applicate a livello atomico. Ciò significa che se alcune modifiche non sono valide, l'intero aggiornamento non va a buon fine e non viene applicata nessuna delle modifiche (potenzialmente dipendenti).

ModifyLabelsRequest contiene un'istanza di LabelModification, che è una modifica a un'etichetta di un file. Potrebbe anche contenere un'istanza di FieldModification, che è una modifica del campo di un'etichetta. Per rimuovere l'etichetta dal file, imposta FieldModification.removeLabel su True.

In caso di esito positivo, il corpo della risposta contiene le etichette aggiunte o aggiornate dalla richiesta. Esistono all'interno di un oggetto modifiedLabels di tipo Label.

Esempio

Il seguente esempio di codice mostra come utilizzare labelId per rimuovere tutti i campi associati all'etichetta mediante fileId. Ad esempio, se un'etichetta contiene sia campi di testo sia campi utente, la rimozione di un'etichetta elimina sia il campo di testo sia quello utente associati all'etichetta. Se annulli l'impostazione, il campo di testo viene rimosso dall'etichetta, ma il campo utente rimane invariato. Per ulteriori informazioni, vedi Annullare l'impostazione di un campo etichetta in un file.

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;
  }

Sostituisci quanto segue:

  • LABEL_ID: il valore labelId dell'etichetta da modificare. Per individuare le etichette in un file, utilizza il metodo files.listLabels.
  • FILE_ID: il valore fileId del file per il quale vengono modificate le etichette.