Labels aus Dateien entfernen

Auf dieser Seite wird beschrieben, wie Sie ein Label aus einer einzelnen Google Drive-Datei entfernen.

Mit der Methode files.modifyLabels können Sie die Metadaten von Dateilabels aus einer Datei entfernen. Der Anfragetext enthält eine Instanz von ModifyLabelsRequest zum Ändern des Labelsatzes für eine Datei. Die Anfrage kann mehrere Änderungen enthalten, die in kleinstmöglichen Schritten angewendet werden. Wenn also Änderungen nicht gültig sind, schlägt die gesamte Aktualisierung fehl und keine der (möglicherweise abhängigen) Änderungen wird angewendet.

Die ModifyLabelsRequest enthält eine Instanz von LabelModification, bei der ein Label in einer Datei geändert wird. Es kann auch eine Instanz von FieldModification enthalten, wobei es sich um eine Änderung des Felds eines Labels handelt. Wenn Sie das Label aus der Datei entfernen möchten, setzen Sie FieldModification.removeLabel auf True.

Wenn der Vorgang erfolgreich ist, enthält der Antworttext die Labels, die von der Anfrage hinzugefügt oder aktualisiert wurden. Diese befinden sich in einem modifiedLabels-Objekt vom Typ Label.

Beispiel

Das folgende Codebeispiel zeigt, wie Sie mit labelId alle mit dem Label verknüpften Felder mithilfe von fileId entfernen. Wenn ein Label beispielsweise sowohl Text- als auch Nutzerfelder enthält, werden beim Entfernen eines Labels sowohl die mit dem Label verknüpften Text- als auch Nutzerfelder gelöscht. Wenn Sie die Einstellungen für das Textfeld aufheben, wird es aus dem Label entfernt, das Nutzerfeld bleibt jedoch unverändert. Weitere Informationen finden Sie unter Festlegung eines Labelfelds in einer Datei aufheben.

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

Ersetzen Sie Folgendes:

  • LABEL_ID: Die labelId des zu ändernden Labels. Verwenden Sie die Methode files.listLabels, um die Labels in einer Datei zu finden.
  • FILE_ID: Der fileId der Datei, für die die Labels geändert werden.