リクエストヘッダーを設定する
多くのAPIでは、サービスに登録して取得したAPIキーの提供が必要です。通常、キーはパラメータではなくリクエストヘッダーで渡します。
Yelp API のドキュメント には、「API Key でAPI呼び出しを認証するには、Authorization HTTPヘッダーの値を Bearer api_key に設定します」とあります。
この情報を get() に渡すための辞書を作成し、NYCで最高評価のカフェをAPIで取得し、レスポンスを解析します。
pandas(pd)と requests は読み込まれています。APIエンドポイントは api_url、キーは api_key に保存されています。パラメータは辞書 params に入っています。
この演習はコースの一部です
pandasで効率よくデータを取り込む
演習の手順
- フォーマット済みのキー文字列を
"Authorization"ヘッダー値として渡す辞書headersを作成します。 - 必要なヘッダーとパラメータを指定して、
get()で Yelp API(api_url)に問い合わせます。結果をresponseとして保存します。 responseから JSON データを取得します。結果をdataとして保存します。dataの"businesses"の値をデータフレームcafesに読み込み、names列を出力します。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# 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)