Auf dieser Seite wird beschrieben, wie Sie ein Label
Field für eine einzelne
Google Drive-Datei festlegen.
Verwenden Sie die
files.modifyLabels Methode, um einer Datei Metadaten hinzuzufügen, indem Sie ein Dateilabel festlegen. 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 die gesamte Aktualisierung fehl und keine der (potenziell abhängigen) Änderungen wird angewendet.
Der ModifyLabelsRequest enthält eine Instanz von
LabelModification
, die eine Änderung an einem Label in einer Datei darstellt. Sie kann auch eine Instanz
von
FieldModification
enthalten, die eine Änderung am Feld eines Labels darstellt.
Bei Erfolg enthält der Antwort
text die Labels, die durch die Anfrage hinzugefügt oder aktualisiert wurden. Diese sind in einem
modifiedLabels Objekt vom Typ Label enthalten.
Beispiel
Das folgende Codebeispiel zeigt, wie Sie die fieldId eines Textfelds verwenden, um
einen Wert für dieses Field in einer
Datei festzulegen. Wenn ein Label Field zum ersten Mal für eine Datei festgelegt wird, wird das Label auf die Datei angewendet. Sie können dann ein einzelnes Feld entfernen oder alle Felder entfernen, die mit dem Label verknüpft sind. Weitere Informationen finden Sie unter Label-Feld für eine
Datei entfernen 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: Die
fieldIddes zu ändernden Felds. Rufen Sie das Label mit der Google Drive Labels API ab, umfieldIdzu finden. - VALUE: Der neue
valuefür dieses Feld. - LABEL_ID: Die
labelIddes zu ändernden Labels. - FILE_ID: The
fileIdof the file for which the labels are modified.
Hinweise
- Wenn Sie ein Label ohne Felder festlegen möchten, wenden Sie
labelModificationsohnefieldModificationsan. - Verwenden Sie die
Choice-ID des Werts, um Werte für Auswahlfeldoptionen festzulegen. Sie können sie abrufen, indem Sie das Labelschema in der Drive Labels APIabrufen. - Für ein
Field, das Listen von Werten unterstützt, können nur mehrere Werte festgelegt werden. Andernfalls erhalten Sie eine400: Bad Request-Fehlerantwort. - Legen Sie den richtigen Werttyp für das ausgewählte
Fieldfest (z. B. Ganzzahl, Text, Nutzer). Andernfalls erhalten Sie eine400: Bad Request-Fehlerantwort. Sie können den Datentyp des Felds mit der Drive Labels API abrufen.