Auf dieser Seite wird beschrieben, wie Sie ein Label Field
für eine einzelne Google Drive-Datei festlegen.
Wenn Sie einer Datei Metadaten hinzufügen möchten, indem Sie ein Dateilabel festlegen, 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 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 die fieldId
eines Textfelds verwenden, um einen Wert für dieses Field
in einer Datei festzulegen. 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 Labelfeld für 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: Die
fieldId
des Felds, das geändert werden soll. Rufen Sie das Label über die Google Drive Labels API ab, um dasfieldId
zu finden. - VALUE: Die neue
value
für dieses Feld. - LABEL_ID: Die
labelId
des zu ändernden Labels. - FILE_ID: Der
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. Sie können das Labelschema in der Drive Labels API abrufen. - Nur für eine
Field
, die Listen von Werten unterstützt, können mehrere Werte festgelegt werden. 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 Felddatentyp über die Drive Labels API abrufen.