Cette page explique comment annuler la définition d'un label
Field sur un seul
fichier Google Drive.
Pour supprimer des métadonnées d'un fichier en annulant la définition d'une étiquette de fichier, utilisez la
files.modifyLabels méthode. Le
corps de la requête
contient une instance de
ModifyLabelsRequest
pour modifier l'ensemble d'étiquettes d'un fichier. La requête peut contenir plusieurs modifications qui sont appliquées de manière atomique. Autrement dit, si des modifications ne sont pas valides, la mise à jour entière échoue et aucune des modifications (potentiellement dépendantes) n'est appliquée.
Le ModifyLabelsRequest contient une instance de
LabelModification
qui est une modification apportée à une étiquette d'un fichier. Elle peut également contenir une instance
de
FieldModification
, qui est une modification apportée au champ d'une étiquette. Pour annuler la définition des valeurs du champ, définissez FieldModification.unsetValues sur True.
Si la requête aboutit, le corps
de la réponse contient
les étiquettes ajoutées ou mises à jour par la requête. Elles existent dans un
modifiedLabels objet de type Label.
Exemple
L'exemple de code suivant montre comment utiliser fieldId et labelId pour annuler la définition des valeurs de champ sur le fileId associé. Par exemple, si une étiquette contient à la fois des champs de texte et des champs utilisateur, l'annulation de la définition du champ de texte le supprime de l'étiquette, mais laisse le champ utilisateur intact. En revanche, la suppression d'une étiquette supprime à la fois les champs de texte et les champs utilisateur associés à l'étiquette. Pour en savoir plus, consultez
Supprimer une étiquette d'un fichier.
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;
}
}
Remplacez les éléments suivants :
- FIELD_ID :
fieldIddu champ à modifier. Pour localiser lefieldId, récupérez l'étiquette à l'aide de l' API Google Drive Labels. - LABEL_ID :
labelIdde l'étiquette à modifier. - FILE_ID :
fileIddu fichier pour lequel les étiquettes sont modifiées.