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 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 die Werte für das Feld aufheben möchten, setzen Sie FieldModification.unsetValues 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 fieldId und labelId die Feldwerte für die zugehörige fileId aufheben. Wenn ein Label beispielsweise sowohl Text- als auch Nutzerfelder enthält und das Textfeld nicht konfiguriert ist, wird es aus dem Label entfernt, das Nutzerfeld bleibt jedoch unberührt. Wenn Sie ein Label entfernen, werden sowohl die 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: Die fieldId des Felds, das geändert werden soll. Rufen Sie das Label über die Google Drive Labels API ab, um das fieldId zu finden.
  • LABEL_ID: Die labelId des zu ändernden Labels.
  • FILE_ID: Der fileId der Datei, für die die Labels geändert werden.