Imposta gli header della richiesta
Molte API richiedono che l’utente fornisca una chiave API, ottenuta registrandosi al servizio. Le chiavi in genere vengono passate nell’header della richiesta, invece che come parametri.
La documentazione dell’API di Yelp indica: "Per autenticare le chiamate all’API con l’API Key, imposta il valore dell’header HTTP Authorization come Bearer api_key."
Imposterai un dizionario per passare questa informazione a get(), chiamerai l’API per i bar/caffè con il punteggio più alto a NYC e analizzerai la risposta.
pandas (come pd) e requests sono già stati importati. L’endpoint dell’API è salvato in api_url e la chiave in api_key. I parametri sono nel dizionario params.
Questo esercizio fa parte del corso
Acquisizione dati semplificata con pandas
Istruzioni dell'esercizio
- Crea un dizionario,
headers, che passi la stringa di chiave formattata al valore dell’header"Authorization". - Interroga la Yelp API (
api_url) conget()e gli header e parametri necessari. Salva il risultato comeresponse. - Estrai i dati JSON da
response. Salva il risultato comedata. - Carica i valori
"businesses"indatanel dataframecafese stampa la colonnanames.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# 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)