Définir les en-têtes de la requête
Beaucoup d'API exigent que les utilisateurs fournissent une clé d'API, obtenue en s'inscrivant au service. Les clés sont généralement transmises dans l'en-tête de la requête plutôt que comme paramètres.
La documentation de l'API Yelp précise : « Pour authentifier les appels à l'API avec la clé d'API, définissez la valeur de l'en-tête HTTP Authorization à Bearer api_key. »
Vous allez configurer un dictionnaire pour transmettre cette information à get(), appeler l'API pour obtenir les cafés les mieux cotés à New York et analyser la réponse.
pandas (comme pd) et requests ont été chargés. Le point de terminaison de l'API est stocké dans api_url, et la clé dans api_key. Les paramètres se trouvent dans le dictionnaire params.
Cette activité fait partie du cours
Ingestion de données rationalisée avec pandas
Instructions de l’exercice
- Créez un dictionnaire
headersqui transmet la chaîne de clé formatée à la valeur de l'en-tête "Authorization". - Interrogez l'API Yelp (
api_url) avecget()et les en-têtes et paramètres requis. Enregistrez le résultat dansresponse. - Extrayez les données JSON de
response. Enregistrez le résultat dansdata. - Chargez les valeurs "businesses" de
datadans la trame de donnéescafeset affichez la colonnenames.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# Create dictionary that passes Authorization and key string
headers = {____: "Bearer {}".format(____)}
# Query the Yelp API with headers and params set
response = ____
# Extract JSON data from response
data = ____
# Load "businesses" values to a dataframe and print names
cafes = ____
print(cafes.name)