Cette page explique comment définir un libellé
Field sur un seul
fichier Google Drive.
Pour ajouter des métadonnées à un fichier en définissant un libellé de fichier, utilisez la
files.modifyLabels méthode. Le
corps de la requête
contient une instance de
ModifyLabelsRequest
permettant de modifier l'ensemble de libellés 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 é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 à un libellé sur un fichier. Il peut également contenir une instance
de
FieldModification
qui est une modification apportée au champ d'un libellé.
Si la requête aboutit, le corps
de la réponse contient
les libellés ajoutés ou mis à jour par la requête. Ils existent dans un
modifiedLabels objet de type Label.
Exemple
L'exemple de code suivant montre comment utiliser le fieldId d'un champ de texte pour définir
une valeur pour ce Field dans un
fichier. Lorsqu'un libellé Field est initialement défini sur un fichier, il applique le libellé au fichier. Vous pouvez ensuite annuler la définition d'un seul champ ou supprimer tous les champs associés au libellé. Pour en savoir plus, consultez Annuler la définition d'un champ de libellé dans un
fichier et Supprimer un libellé d'un
fichier.
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;
}
}
Remplacez les éléments suivants :
- FIELD_ID :
fieldIddu champ à modifier. Pour trouver lefieldId, récupérez le libellé à l'aide de l' API Google Drive Labels. - VALUE : nouvelle
valuede ce champ. - LABEL_ID :
labelIddu libellé à modifier. - FILE_ID : Le
fileIddu fichier pour lequel les libellés sont modifiés.
Remarques
- Pour définir un libellé sans champ, appliquez
labelModificationssansfieldModifications. - Pour définir des valeurs pour les options de champ de sélection, utilisez l'
ChoiceID de la valeur que vous pouvez obtenir en récupérant le schéma de libellé dans l' API Drive Labels. - Seul un
Fieldqui accepte des listes de valeurs peut avoir plusieurs valeurs définies. Sinon, vous recevrez une réponse d'erreur400: Bad Request. - Définissez le type de valeur approprié pour le
Fieldsélectionné (par exemple, entier, texte, utilisateur, etc.). Sinon, vous recevrez une réponse d'erreur400: Bad Request. Vous pouvez récupérer le type de données du champ à l'aide de l' API Drive Labels.