Definir cabeçalhos da requisição
Muitas APIs exigem que usuários forneçam uma chave de API, obtida ao se registrar no serviço. As chaves normalmente são passadas no cabeçalho da requisição, e não como parâmetros.
A documentação da API do Yelp diz: "Para autenticar chamadas à API com a chave de API, defina o valor do cabeçalho HTTP Authorization como Bearer api_key."
Você vai configurar um dicionário para passar essa informação para get(), chamar a API para obter os cafés com melhor avaliação em NYC e analisar a resposta.
pandas (como pd) e requests já foram importados. O endpoint da API está em api_url, e a chave em api_key. Os parâmetros estão no dicionário params.
Este exercício faz parte do curso
Ingestão de dados simplificada com pandas
Instruções do exercício
- Crie um dicionário,
headers, que passe a string de chave formatada para o valor do cabeçalho"Authorization". - Consulte a API do Yelp (
api_url) comget()e os cabeçalhos e parâmetros necessários. Salve o resultado emresponse. - Extraia os dados JSON de
response. Salve o resultado emdata. - Carregue os valores de
"businesses"emdatano dataframecafese imprima a colunanames.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
# 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)