Festlegung eines Labelfelds in einer Datei aufheben

Auf dieser Seite wird beschrieben, wie Sie das Label Field für eine einzelne Google Drive-Datei aufheben.

Wenn Sie Metadaten aus einer Datei entfernen möchten, indem Sie ein Dateilabel aufheben, verwenden Sie die Methode files.modifyLabels. Der Anfragetext enthält eine Instanz von ModifyLabelsRequest, um die Labels einer Datei zu ändern. Die Anfrage kann mehrere Änderungen enthalten, die atomar angewendet werden. Wenn also Änderungen ungültig sind, schlägt das gesamte Update fehl und keine der (potenziell abhängigen) Änderungen werden angewendet.

Die ModifyLabelsRequest enthält eine Instanz von LabelModification, einer Änderung an einem Label in einer Datei. Es kann auch eine Instanz von FieldModification enthalten, was eine Änderung am Feld eines Labels ist. Wenn Sie die Werte für das Feld zurücksetzen möchten, setzen Sie FieldModification.unsetValues auf True.

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

Beispiel

Das folgende Codebeispiel zeigt, wie Sie mit fieldId und labelId die Feldwerte für die zugehörige fileId zurücksetzen. Wenn ein Label beispielsweise sowohl Text- als auch Nutzerfelder enthält, wird das Textfeld beim Entfernen aus dem Label entfernt, das Nutzerfeld bleibt jedoch unverändert. Wenn Sie ein Label entfernen, werden sowohl der Text als auch die Nutzerfelder gelöscht, die mit dem Label verknüpft sind. Weitere Informationen finden Sie unter Label 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: Die fieldId des Felds, das geändert werden soll. Wenn Sie die fieldId finden möchten, rufen Sie das Label mit der Google Drive Labels API ab.
  • LABEL_ID: Die labelId des zu ändernden Labels.
  • FILE_ID: Die fileId der Datei, für die die Labels geändert werden.