Festlegung eines Labelfelds in einer Datei aufheben

Auf dieser Seite wird beschrieben, wie Sie die Festlegung eines Labels Field für eine einzelne Google Drive-Datei aufheben.

Wenn Sie Metadaten aus einer Datei entfernen möchten, indem Sie die Festlegung eines Dateilabels aufheben, verwenden Sie die Methode files.modifyLabels. Der Anfragetext enthält eine Instanz von ModifyLabelsRequest, um den Satz von Labels in einer Datei zu ändern. Die Anfrage kann mehrere Änderungen enthalten, die atomar angewendet werden. Das heißt, wenn Änderungen nicht gültig sind, ist die gesamte Aktualisierung nicht erfolgreich und keine der (potenziell abhängigen) Änderungen wird angewendet.

ModifyLabelsRequest enthält eine Instanz von LabelModification, bei der es sich um eine Änderung eines Labels in einer Datei handelt. Es kann auch eine Instanz von FieldModification enthalten, bei der es sich um eine Änderung des Felds eines Labels handelt. Um die Werte für das Feld aufzuheben, setzen Sie FieldModification.unsetValues auf True.

Bei Erfolg enthält der Antworttext die Labels, die durch die Anfrage hinzugefügt oder aktualisiert wurden. Sie sind in einem modifiedLabels-Objekt vom Typ Label enthalten.

Beispiel

Das folgende Codebeispiel zeigt, wie Sie mit fieldId und labelId die Feldwerte im zugehörigen fileId aufheben. Wenn ein Label beispielsweise sowohl Text- als auch Nutzerfelder enthält, wird es aus dem Label entfernt, aber das Nutzerfeld bleibt unverändert. Beim Entfernen eines Labels werden hingegen sowohl der Text als auch die Nutzerfelder gelöscht, die mit dem Label verknüpft sind. Weitere Informationen finden Sie unter Labels aus einer Datei entfernen.

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

Ersetzen Sie Folgendes:

  • FIELD_ID: Der fieldId des zu ändernden Felds. Wenn Sie die fieldId finden möchten, rufen Sie das Label mithilfe der Google Drive Labels API ab.
  • LABEL_ID: Die labelId des Labels, das geändert werden soll.
  • FILE_ID: fileId der Datei, für die die Labels geändert werden.