Appels d'API
Dans cette page tu trouveras :
Appel de base
Ci-dessous, un exemple de requête basique vers une API en Python :
Le code ci-dessus récupère simplement le JSON retourné par l’appel à https://www.fruityvice.com/api/fruit/3 .
Pour plus d’informations sur le fonctionnement d’une requête de base, consulte la page Introduction aux APIs !
Appel avec paramètres
Pour certaines APIs, on peut spécifier des paramètres lors de l’appel. Cela sera précisé dans la documentation de l’API.
Pour faire cela, on précise simplement ces paramètres dans l’instruction qui correspond à notre requête :
reponse = requests.get(url, params = parametres)
Dans ce cas, il faut bien sûr avoir préalablement créé la variable parametres. Tu trouveras un exemple concret ci-dessous !
Exemple de requête avec paramètre
Le code ci-contre fait un appel vers https://catfact.ninja/fact
Normalement, cet appel permet de recevoir une anecdote aléatoire sur les chats.
Cependant, comme on a précisé le paramètre max_length : 50, l’anecdote aléatoire ainsi générée ne dépassera jamais les 50 caractères !
Note : il est aussi possible d’ajouter les paramètres directement dans l’url de la requête, par exemple :
https://catfact.ninja/fact?max_length=50
Appel avec clé
Certaines APIs nécessitent d’être authentifié pour qu’on puisse les utiliser.
Cette authentification se fait par le biais d’une clé / un token.
Cette clé / ce token te sera le plus souvent fournie lorsque tu te seras créé un compte sur l’API concernée. Il faudra parfois chercher un peu pour la trouver ! (par exemple dans les paramètres de ton compte)
Une fois que tu as ta clé / ton token, il faudra alors créer les headers et préciser ces derniers dans l’instruction qui correspond à la requête vers l’API :
reponse = requests.get(url, headers = headers)
Ces headers doivent contenir ta clé / ton token. Le fonctionnement varie parfois d’une API à l’autre, mais la documentation précise toujours comment s’authentifier (si une authentification est nécessaire).
Tu trouveras ci-dessous un exemple concret d’appel d’API utilisant une clé.
Exemple de requête avec clé (authentification)
Le code ci-contre fait un appel vers https://the-one-api.dev/v2/character
Si on avait fait cet appel tel quel, on recevrait juste un JSON avec un message d’erreur (message : « unauthorized », autrement dit on n’a pas les autorisations).
En revanche, si, comme sur l’image ci-dessus, je fais l’appel en précisant mes headers (dans lesquels j’ai précisé le token lié à mon compte), je reçois alors une réponse complète : nom du personnage, première apparition, taille…
Appel POST
La plupart des APIs que tu trouveras sur la liste des APIs ne permettent de faire que des requêtes GET.
Mais certaines APIs permettent d’autres types de requêtes, comme par exemple les requêtes POST.
Requêtes GET
Elles permettent simplement de recevoir des informations. On ne fait, en quelque sorte, que poser une question à l’API, qui nous envoie sa réponse.
Requêtes POST
Elles permettent d’envoyer des informations à l’API. Suite à cet envoi, cette dernière nous fournit également une réponse.
Sur la documentation de ton API, il est toujours précisé le type de la requête – si jamais ce n’est pas le cas, c’est qu’il s’agit simplement d’une requête GET.
S’il s’agit d’une requête POST, il faudra lire attentivement la documentation pour voir comment l’utiliser. Tu devras utiliser requests.post(…) plutôt que requests.get(…), et tu devras préciser les informations à envoyer en tant que paramètre – la documentation te dira comment exactement et sous quelle forme (une chaîne de caractère, un JSON avec une structure spécifique…)