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 diefieldId
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
ohnefieldModifications
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 Fehlerantwort400: Bad Request
. - Legen Sie den richtigen Werttyp für die ausgewählte
Field
fest (z. B. Ganzzahl, Text, Nutzer usw.). Andernfalls erhalten Sie die Fehlerantwort400: Bad Request
. Sie können den Datentyp des Felds mit der Drive Labels API abrufen.