Auf dieser Seite wird beschrieben, wie Sie das Label
Field für eine einzelne
Google Drive-Datei aufheben.
Wenn Sie Metadaten aus einer Datei entfernen möchten, indem Sie ein Dateilabel aufheben, verwenden Sie die
files.modifyLabels Methode. 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 eine der Änderungen ungültig ist, 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. Wenn Sie die Werte für das Feld aufheben möchten, setzen Sie FieldModification.unsetValues auf True.
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 mit fieldId und labelId die Feldwerte für die zugehörige fileId aufheben. Wenn ein Label beispielsweise sowohl Text- als auch Nutzerfelder enthält, wird durch das Aufheben des Textfelds das Textfeld aus dem Label entfernt, das Nutzerfeld bleibt jedoch unverändert. Wenn Sie ein Label entfernen, werden sowohl die Text- als auch die Nutzerfelder gelöscht, die mit dem Label verknüpft sind. Weitere Informationen finden Sie unter
Label 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: Die
fieldIddes zu ändernden Felds. Rufen Sie das Label mit der Google Drive Labels API ab, umfieldIdzu finden. - LABEL_ID: Die
labelIddes zu ändernden Labels. - FILE_ID: The
fileIdof the file for which the labels are modified.