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
, 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. Um die Werte für das Feld aufzuheben, setzen Sie FieldModification.unsetValues
auf True
.
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 fieldId
und labelId
die Feldwerte im zugehörigen fileId
aufheben. Wenn ein Label beispielsweise sowohl Text- als auch Nutzerfelder enthält, wird es aus dem Label entfernt, aber das Nutzerfeld bleibt unverändert. Beim Entfernen eines Labels werden hingegen sowohl der 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: Der
fieldId
des zu ändernden Felds. Wenn Sie diefieldId
finden möchten, rufen Sie das Label mithilfe der Google Drive Labels API ab. - LABEL_ID: Die
labelId
des Labels, das geändert werden soll. - FILE_ID:
fileId
der Datei, für die die Labels geändert werden.