Labelfeld in einer Datei festlegen

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

Verwenden Sie die Methode files.modifyLabels, um einer Datei Metadaten durch Festlegen eines Dateilabels hinzuzufügen. 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.

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 dem fieldId eines Textfelds einen Wert für dieses Field in einer Datei festlegen. Wenn das Label Field anfänglich für eine Datei festgelegt ist, wird das Label auf die Datei angewendet. Sie können dann die Festlegung eines einzelnen Felds aufheben oder alle mit dem Label verknüpften Felder entfernen. Weitere Informationen finden Sie unter Festlegung eines Labelfelds in einer Datei aufheben und Label aus einer Datei entfernen.

Java

LabelFieldModification fieldModification =
new LabelFieldModification().setFieldId("FIELD_ID").setSetTextValues(ImmutableList.of("VALUE"));

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','setTextValues':['VALUE']}
label_modification = {'labelId':'LABEL_ID', 'fieldModifications':[field_modification]}

modified_labels = drive_service.files().modifyLabels(fileId="FILE_ID", body = {'labelModifications' : [label_modification]}).execute();

Node.js

/**
* Set a label with a text field on a Drive file
* @return{obj} updated label data
**/
async function setLabelTextField() {
  // 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',
    'setTextValues': ['VALUE'],
  };
  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.
  • VALUE: Der neue value für dieses Feld.
  • LABEL_ID: Die labelId des Labels, das geändert werden soll.
  • FILE_ID: fileId der Datei, für die die Labels geändert werden.

Hinweise

  • Wenn Sie ein Label ohne Felder festlegen möchten, wenden Sie labelModifications ohne fieldModifications an.
  • Wenn Sie Werte für Auswahlfeldoptionen festlegen möchten, verwenden Sie die Choice-ID des Werts, den Sie durch Abrufen des Labelschemas in der Drive Labels API abrufen können.
  • Nur für einen Field, der Listen von Werten unterstützt, können mehrere Werte festgelegt sein. Andernfalls erhalten Sie die Fehlerantwort 400: Bad Request.
  • Legen Sie den richtigen Werttyp für die ausgewählte Field fest (z. B. Ganzzahl, Text, Nutzer usw.). Andernfalls erhalten Sie die Fehlerantwort 400: Bad Request. Sie können den Datentyp des Felds mit der Drive Labels API abrufen.