APIとは?何をするの?
API(Application Programming Interface)について、例題も含めて説明します。
①APIとは
APIは、「アプリケーション・プログラミング・インターフェイス」の略です。ソフトウェア同士がやり取りをするための「窓口」や「ルール」のようなものです。
APIを使うと、異なるアプリケーション間でデータや機能を共有したり、連携したりできます。
身近な例
天気予報アプリ
天気データを提供するサービスのAPIを使って、最新の天気情報を取得します。
Google Maps
位置情報や地図データを提供するGoogle Maps APIを利用して、アプリに地図を組み込むことができます。
Web API設計実践入門 ↓
②APIの基本構造と動作
APIの基本的な流れは次の通りです。
❶リクエスト(Request)
クライアント(アプリやブラウザ)がAPIに対して「データをください」や「この操作をしてください」と指示を送ります。
❷レスポンス(Response)
サーバーがそのリクエストに応じてデータや結果を返します。
例えば
天気APIに「東京の今日の天気を教えて」とリクエストを送ると、レスポンスとして「晴れ、25℃」といったデータが返ってきます。
③APIの操作方法(REST APIの場合)
多くのAPIは「REST API」という形式を採用しています。以下に操作手順を示します。
認証と認可 Keycloak入門 ↓
ステップ1「必要な準備」
❶APIキーを取得
・多くのAPIは利用前に「APIキー」という認証用のキーを取得する必要があります。
・例:Google API、OpenWeatherMap APIなど。
❷APIのドキュメントを読む
・APIがどのような機能を提供しているか、どのURLを使うか、どのパラメータを指定する必要があるかが書かれています。
ステップ2「リクエストを送る」
APIにリクエストを送るには、以下の情報が必要です。
・エンドポイント(URL)
APIのリクエスト先URL
・HTTPメソッド
GET(データ取得)、POST(データ送信)など。
・パラメータ
取得したい情報を指定する値
・ヘッダー
認証情報などを含む。
ステップ3「レスポンスを受け取る」
APIはJSON形式でデータを返すことが多いです。
これを解析して必要な情報を取り出します。
実践マイクロサービスAPI ↓
④サンプルコード「PythonでAPIを使う例」
以下に、天気API(OpenWeatherMap API)を使って天気情報を取得する例を示します。
コード例
import requests
# APIキー(OpenWeatherMapから取得)
API_KEY = "your_api_key"
# APIエンドポイント
url = "http://api.openweathermap.org/data/2.5/weather"
# パラメータ(都市名とAPIキー)
params = {
"q": "Tokyo", # 都市名
"appid": API_KEY, # APIキー
"units": "metric", # 温度単位(摂氏)
"lang": "ja" # 日本語
}
# リクエストを送る
response = requests.get(url, params=params)
# レスポンスを処理
if response.status_code == 200:
data = response.json()
print(f"都市: {data['name']}")
print(f"天気: {data['weather'][0]['description']}")
print(f"気温: {data['main']['temp']}℃")
else:
print(f"エラー: {response.status_code}")
出力例
都市: Tokyo
天気: 曇り
気温: 20℃
⑤API利用時の注意点
❶APIキーの管理
・APIキーを第三者に見られないように注意してください。
・GitHubなどにコードを公開する場合は、環境変数を使う方法がおすすめです。
❷リクエスト回数の制限
・多くのAPIは、一定時間内に送れるリクエスト回数(Rate Limit)に制限があります。
・制限を超えると利用できなくなるので、適切に管理しましょう。
❸エラーハンドリング
・APIから返されるステータスコード(例: 200は成功、404はリソースが見つからない)を確認して、エラー処理を実装することが重要です。
絵で見てわかるクラウドインフラとAPIの仕組み ↓
⑥例題「映画情報APIを使ったアプリ」
映画情報を提供する「OMDb API」を使って、映画情報を検索するプログラムを作成します。
コード例
import requests
API_KEY = "your_api_key"
url = "http://www.omdbapi.com/"
# 映画タイトルを入力
movie_title = input("映画のタイトルを入力してください: ")
# パラメータを設定
params = {
"t": movie_title,
"apikey": API_KEY
}
# リクエストを送信
response = requests.get(url, params=params)
# レスポンスを処理
if response.status_code == 200:
data = response.json()
if data.get("Response") == "True":
print(f"タイトル: {data['Title']}")
print(f"年: {data['Year']}")
print(f"ジャンル: {data['Genre']}")
print(f"あらすじ: {data['Plot']}")
else:
print("映画が見つかりませんでした。")
else:
print(f"エラー: {response.status_code}")
⑦まとめ
APIは、アプリケーションを連携させたり、外部のデータを取得したりするために欠かせない技術です。
以下のポイントを押さえることで、APIを活用できるようになります。
・ドキュメントを読む
・認証情報を適切に管理する
・レスポンスを解析するスキルを磨く
最初は簡単なAPIから試し、慣れてきたら複雑なAPIにも挑戦してみてください!