1. Apprendre
  2. /
  3. Cours
  4. /
  5. Introduction aux API en Python

Connected

Exercice

Respecter les limites de débit des API

Mettons à l'épreuve ce que vous avez appris sur la gestion des erreurs. Dans cet exercice, vous allez rencontrer une erreur de type rate limit, ce qui signifie que vous envoyez trop de requêtes au serveur en peu de temps. Corrigez la situation en mettant en place une solution de contournement pour respecter la limite de débit afin que notre script ne tombe pas en échec.

Votre médiathèque contient plus de 3500 pièces musicales; essayons donc de trouver la plus longue en vérifiant la propriété Length de chaque piste.

Mais il y a un problème : l'API /tracks a une taille de page maximale de 500 éléments et une limite de 1 requête par seconde. Le script que nous avons écrit envoie trop de requêtes au serveur en trop peu de temps. Corrigeons cela!

Les modules requests et time sont déjà importés, et nous avons créé les variables suivantes pour vous :

longestTrackLength = 0
longestTrackTitle = ""
headers = {'Authorization': 'Bearer 8apDFHaNJMxy8Kt818aa6b4a0ed0514b5d3'}
page_number = 1

Instructions

100 XP
  • Commencez par exécuter l'exercice sans modifier le code. Vous remarquerez que la console affiche une erreur 429 Client Error, indiquant que nous envoyons trop de requêtes au serveur en peu de temps.
  • Corrigez le script en ajoutant une pause de 3 secondes à la fin de la boucle while à l'aide de la méthode sleep du module time.