オタクくん「ギャル先輩、APIってなんですか?」

2024/05/17に公開

オタクくん「うーん、APIのドキュメント読んでもよくわからないなあ。どうすればいいんだろう…。」

ギャル先輩の登場

ギャル先輩「オタクくん、何してんの?顔色悪いじゃん?」

オタクくん「あ、ギャル先輩!実はAPIの使い方がわからなくて困ってるんです。」

ギャル先輩「えー、オタクくんってパソコンに詳しそうなのに、そんなのもわからないの?www。どれ、あーしが教えてあげる。」

APIって何?

オタクくん「ありがとうございます!そもそもAPIってなんですか?」

ギャル先輩「APIは、Application Programming Interfaceの略だよ。簡単に言うと、ソフトウェア同士がコミュニケーションするためのルールや手段のことなんだ。」

オタクくん「なるほど、でも具体的にはどういうことですか?」

ギャル先輩「例えば、天気情報を提供するウェブサービスがあるとするじゃん?そのデータを使いたいアプリがAPIを通じてリクエストを送ると、ウェブサービスがデータを返してくれるの。これで、アプリが最新の天気情報を表示できるってわけ。」

REST APIの基本

オタクくん「なるほど。でも、具体的にどうやって使うんですか?」

ギャル先輩「じゃあ、代表的なREST APIの基本を教えてあげる。まず、REST APIはHTTPを使ってリクエストを送るの。例えば、GETリクエストでデータを取得するんだ。」

オタクくん「GETリクエスト?」

ギャル先輩「そう、URLに対してGETリクエストを送ると、サーバーがデータを返してくれるんだ。例えば、https://api.example.com/weather?city=TokyoにGETリクエストを送ると、東京の天気情報が返ってくるんだよ。」

実際にコードを書いてみよう

オタクくん「それを実際にコードで書くとどうなるんですか?」

ギャル先輩「じゃあ、Pythonで書いてみるよ。まずはライブラリをインポートするところから。」

import requests

response = requests.get('https://api.example.com/weather?city=Tokyo')
data = response.json()
print(data)

オタクくん「おお、これがAPIを使ったコードなんですね!」

ギャル先輩「そうだよ。簡単でしょ?でも、エラーハンドリングも忘れずにね。」

try:
    response = requests.get('https://api.example.com/weather?city=Tokyo')
    response.raise_for_status()  # エラーがあれば例外を発生させる
    data = response.json()
    print(data)
except requests.exceptions.HTTPError as err:
    print(f'HTTPエラーが発生しました: {err}')
except Exception as err:
    print(f'何らかのエラーが発生しました: {err}')

POSTリクエストも学ぼう

オタクくん「他のリクエスト方法もありますか?」

ギャル先輩「もちろん。例えば、POSTリクエストはデータをサーバーに送るために使うの。」

オタクくん「どんな風に書けばいいですか?」

ギャル先輩「こんな感じだよ。」

payload = {'city': 'Tokyo', 'temperature': 25}
response = requests.post('https://api.example.com/weather', json=payload)
print(response.json())

オタクくん「ギャル先輩、本当にわかりやすいです!こんなに簡単に理解できるとは思いませんでした。」

ギャル先輩「え、あーし、そんなにわかりやすかった?…て、てーか、オタクくん、そんなこと言っても、別に嬉しくないし!」

オタクくん「え、そうですか?でも本当に感謝しています。ギャル先輩のおかげで、自信が持てました!」

ギャル先輩「いいってもんよ!」

まとめ

オタクくん「今日は本当にありがとうございました!APIのことがよくわかりました。」

ギャル先輩「いいってことよ!オタクくんも、もっと色々学んでいこうね。あーしもいつでも助けてあげるからさ。」

オタクくん「はい!ギャル先輩、これからもよろしくお願いします!」

Discussion