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…)

Retour en haut