Cette page explique comment supprimer un libellé Field d'un seul fichier Google Drive.
Pour supprimer des métadonnées d'un fichier en supprimant un libellé de fichier, utilisez la méthode files.modifyLabels. Le corps de la requête contient une instance de ModifyLabelsRequest pour modifier l'ensemble des libellés d'un fichier. La requête peut contenir plusieurs modifications appliquées de manière atomique. En d'autres termes, si des modifications ne sont pas valides, la mise à jour échoue dans son ensemble et aucune des modifications (potentiellement dépendantes) n'est appliquée.
ModifyLabelsRequest contient une instance de LabelModification, qui correspond à une modification apportée à un libellé sur un fichier. Il peut également contenir une instance de FieldModification, qui correspond à une modification apportée au champ d'un libellé. 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 libellés ajoutés ou modifiés par la requête. Elles existent dans un objet modifiedLabels 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 un libellé contient à la fois des champs de texte et des champs utilisateur, la suppression du champ de texte le supprime du libellé, mais laisse le champ utilisateur intact. En revanche, supprimer un libellé efface à la fois le texte et les champs utilisateur associés. Pour en savoir plus, consultez Supprimer un libellé 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 le libellé à l'aide de l'API Google Drive Labels. - LABEL_ID :
labelIddu libellé à modifier. - FILE_ID :
fileIddu fichier dont les libellés sont modifiés.