Request headers instellen
Veel API's vereisen dat je een API-sleutel opgeeft, die je krijgt door je te registreren voor de service. Sleutels worden meestal in de requestheader doorgegeven, niet als parameters.
De Yelp API-documentatie zegt: "To authenticate API calls with the API Key, set the Authorization HTTP header value as Bearer api_key."
Je maakt een dictionary om deze informatie aan get() door te geven, roept de API aan voor de best beoordeelde cafés in NYC en parseert de response.
pandas (als pd) en requests zijn geladen. Het API-endpoint staat in api_url, en de sleutel in api_key. Parameters staan in de dictionary params.
Deze oefening maakt deel uit van de cursus
Gestroomlijnde data-inname met pandas
Oefeninstructies
- Maak een dictionary,
headers, die de geformatteerde sleutelstring doorgeeft aan de waarde van de"Authorization"-header. - Raadpleeg de Yelp API (
api_url) metget()en de benodigde headers en parameters. Sla het resultaat op alsresponse. - Haal de JSON-gegevens uit
response. Sla het resultaat op alsdata. - Laad de
"businesses"-waarden indatain de dataframecafesen print de kolomnames.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# 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)