見出し画像

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にも挑戦してみてください!

いいなと思ったら応援しよう!