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