API Web Airtable - Utilisation des paramètres filterByFormula ou de tri
  • 25 Aug 2023
  • 4 Minutes à lire
  • Sombre
    Lumière
  • PDF

API Web Airtable - Utilisation des paramètres filterByFormula ou de tri

  • Sombre
    Lumière
  • PDF

Article Summary

Découvrez comment filtrer ou trier les résultats d’une réponse d’API.

Introduction

Disponibilité avec les forfaitsTous les types de forfaits
Autorisations

Accès basé sur des jetons : pour effectuer des demandes d’API, vous devrez vous authentifier à l’aide de l’une des méthodes décrites ici.

Filtrage des entrées dans les demandes d’API

Il existe deux méthodes pour filtrer les entrées dans les demandes d’API :

  1. La première consiste à appliquer un paramètre de vue dans une demande d’API qui contient la portée des listes d’entréesafin de n’obtenir que les entrées telles qu’elles apparaissent dans une vue de tableau spécifique. Le lien ci-dessus explique en détail comment appliquer le paramètre de vue dans une demande.
  2. La seconde méthode pour filtrer les entrées dans un appel qui contient la portée des listes d’entrées est d’utiliser le paramètrefilterByFormula, que nous allons aborder plus en détail ci-dessous.

Lorsque vous filtrez une réponse d’API à l’aide du paramètre filterByFormula, vous devez utiliser une formule valide, laquelle va évaluer chaque entrée. Vous devez inclure cette formule dans le tableau de la base dans laquelle l’appel d’API est demandé. 

Pour illustrer nos propos, prenons l’exemple d’un tableau où figurent des parfums de glace :

Si nous incluons la portée des listes d’entrées dans une demande d’API dans ce tableau sans paramètres, tous les parfums seront renvoyés. Imaginons maintenant que nous souhaitions seulement renvoyer les parfums ayant obtenu une évaluation de 5 étoiles à l’aide du paramètrefilterByFormula :

Étape 1

La première étape consiste à créer un champ de formule dans le tableau contenant les parfums, qui permet d’évaluer si un parfum a 5 étoiles dans le champ « Évaluation ». Dans cet exemple, il est possible d’utiliser une formule simple (Évaluation = 5) qui donne un résultat booléen vrai/faux. Il est cependant probable que votre cas pratique soit plus complexe.

Étape 2

Comme vous pouvez le voir ci-dessous, la formule saisie fonctionne correctement : seuls les champs « Cookies & Cream » (Cookies et crème) et « Cookie Dough » ont une valeur de 1, car il s’agit des seuls parfums à disposer de 5 étoiles. Nous sommes à présent certains que si nous utilisons cette formule comme paramètre filterByFormula, les valeurs correctes seront renvoyées avec le temps.

Étape 3

Vous allez ensuite devoir ajouter la formule au paramètre filterByFormula dans votre demande.

Remarque
Si vous n’utilisez pas notre client officiel JavaScript, Airtable.js, la formule doit d’abord être codée avant d’être utilisée en tant que valeur. Vous pouvez utiliser cet outil pour coder une formule ou une URL avant de l’utiliser dans une demande d’API.
Étape 4

Vous devriez maintenant avoir une URL codée qui ressemble à ceci :
https://api.airtable.com/v0/{your_app_id}/Flavors?filterByFormula=Rating%3D5

Étape 5

Vous pouvez maintenant tester la demande dans un outil comme Postman. Dans le test ci-dessous, vous pouvez constater que seuls les parfums « Cookies & Cream » (Cookies et crème) et « Cookie Dough » ont été renvoyés :

Filtrage des dépendances

  • Si la réponse ne filtre pas les entrées attendues, nous vous recommandons de commencer par vérifier que la formule figure bien dans la base Airtable, afin de vous assurer qu’elle renvoie les valeurs attendues dans le champ de formule des entrées censées être filtrées. 
  • Pour toute entrée qui apparaît avec une valeur 0, false, NaN, [] ou #Error! dans la formule, le résultat ne sera pas inclus dans la réponse.
  • Lorsque les paramètres filterByFormula et de vue sont utilisés ensemble, seules les entrées de cette vue qui correspondent à la formule sont renvoyées.

Tri des entrées dans les demandes d’API

Il existe deux méthodes pour trier les entrées dans les demandes d’API :

  1. La première consiste à appliquer un paramètre de vue dans une demande d’API qui contient la portée des listes d’entréesafin de n’obtenir dans la réponse d’API que les entrées dans leur ordre d’apparition dans une vue de tableau spécifique. Le lien ci-dessus explique en détail comment appliquer le paramètre de vue dans une demande.
  2. La seconde méthode pour filtrer les entrées dans une demande des listes d’entrées est d’ utiliser le paramètre de tri. Nous allons aborder les principales étapes à suivre ci-dessous.

Nous allons nous servir du tableau des parfums de glace utilisé en tant qu’exemple ci-dessus. Vous voulez probablement renvoyer les parfums en les classant de l’évaluation la plus haute à l’évaluation la plus basse :

Étape 1

Vous allez tout d’abord devoir créer une URL codée à utiliser dans votre demande d’API. Comme avec filterByFormula ci-dessus, vous pouvez utiliser cet outil pour coder une URL en filtrant sur le champ « Évaluation », avec le critère « desc ». L’URL obtenue devrait ressembler à ceci :

https://api.airtable.com/v0/{your_app_id}/Flavors?sort%5B0%5D%5Bfield%5D=Rating&sort%5B0%5D%5Bdirection%5D=desc

Remarque
Vous pouvez utiliser une valeur « asc » à la fin de la formule à la place de « desc », afin de trier les résultats par ordre croissant.  
Étape 2

Vous devrez ensuite ajouter l’URL codée en tant qu’objet dans le paramètre de tri de votre demande d’API.

Étape 3

Vous pouvez désormais tester la demande avec un outil tel que Postman afin de voir si le paramètre a fonctionné. Les entrées renvoyées devraient être classées selon leur évaluation, de la plus haute à la plus basse.

Remarque
Lorsque les paramètres de vue et de tri sont utilisés ensemble, le paramètre de tri prime sur le tri de la vue indiqué dans le paramètre de vue. En l’absence de paramètres de tri et de vue, l’ordre des entrées est aléatoire.


Codage d’une URL

Si vous n’utilisez pas notre client JavaScript officiel, Airtable.js, vous allez probablement devoir appliquer un codage d’URL aux valeurs de vos paramètres pour obtenir une URL valide. Pour ce faire, vous pouvez utiliser notre encodeur d’URL en complétant votre formule et d’autres valeurs de paramètres et en copiant l’URL obtenue :

360094731073Image2020-09-29at123716pm.png


FAQ

Puis-je utiliser des ID de champ dans mon appel d’API filterByFormula ?

Non, vous pouvez uniquement utiliser des noms de champ. Nous vous recommandons d’utiliser les descriptions de champ pour attirer l’attention sur les conséquences d’une modification d’un nom de champ utilisé dans des appels d’API.

Pourquoi filterByFormula ne filtre pas correctement les résultats ?

Cette formule n’est peut-être pas valide. Nous vous recommandons de vérifier la formule en l’ajoutant dans un champ dans le tableur Airtable. Vous pourrez ainsi voir quelles valeurs la formule devrait normalement filtrer.


Cet article vous a-t-il été utile ?