APIって何ですか? 🤔
コーディングを初めて学ぶと、「API」という言葉をよく耳にします。しかし、APIが正確に何なのか理解するのは難しいかもしれません。このガイドでは、APIをとても簡単に説明します!
APIを日常生活で例えると?
APIをレストランで例えてみましょう。
レストランの話 🍽️
レストランに行くと:
- お客さん(あなた):料理を注文したいです
- ウェイター:お客さんの注文を受けて厨房に伝えます
- 厨房:料理を作ります
- ウェイター:完成した料理をお客さんに運びます
ここでウェイターがまさにAPIの役割を果たします!
お客さん(アプリ) → ウェイター(API) → 厨房(サーバー)
↓
お客さん(アプリ) ← ウェイター(API) ← 完成した料理(データ)
APIの正式な定義
API (Application Programming Interface)
プログラム同士が会話して情報をやり取りできるようにする橋渡しの役割を果たします。
実際の例で理解する
例1:天気アプリ ☀️
天気アプリを開くと今日の天気が表示されます:
1. 天気アプリが天気サーバーに「今日のソウルの天気を教えて!」と要求
2. APIがこの要求を伝達
3. サーバーが天気情報を検索
4. APIが情報を受け取ってアプリに伝達
5. アプリ画面に「ソウル、晴れ、23°C」と表示
例2:ログイン 🔐
Googleアカウントで他のウェブサイトにログインする時:
1. ウェブサイトがGoogleに「この人を確認して」と要求
2. Google APIがユーザー情報を確認
3. 確認されたらウェブサイトに「OK」と応答
4. ログイン完了!
例3:地図アプリ 🗺️
配達アプリで地図が見られる理由:
配達アプリは地図を直接作らず、
Googleマップ APIを使って地図を取得します!
APIリクエストはどんな形?
APIにリクエストするのは住所を入力するのと似ています:
https://api.weather.com/weather?city=Seoul
↑ ↑ ↑
サーバーアドレス 何が欲しい? どこの?
APIのメリット 🌟
1. 車輪を再発明する必要がない
すでによく作られた機能をAPIで利用できます。
例:
- 決済機能:Stripe API使用
- 地図機能:Googleマップ API使用
- ログイン機能:Google/Facebookログイン API使用
2. 安全に情報をやり取りできる
データベースに直接アクセスせず、APIを通じてのみアクセスするので安全です。
3. 複数のプログラムが一緒に使える
スマートフォンアプリ、ウェブサイト、タブレットアプリすべてが同じAPIを使えます。
ウェブAPIの種類
REST API(最も一般的)
ウェブで最もよく使われるAPI方式です。
特徴:
- URLでリクエスト
- シンプルで学びやすい
- ほとんどのウェブサービスが使用
例:
取得(読み取り): GET https://api.example.com/users
作成(書き込み): POST https://api.example.com/users
修正: PUT https://api.example.com/users/123
削除: DELETE https://api.example.com/users/123
GraphQL
必要なデータだけを正確にリクエストできる方式です。
SOAP
古い方式のAPIです。最近はあまり使われません。
APIを使ってみる
私たちのサイトのAPI Testerツールで実際のAPIを使ってみることができます!
簡単な実習
- API Testerに移動
- URLに入力:
https://api.github.com/users/github - Methodは
GETを選択 - Sendボタンをクリック!
GitHubの公開情報を取得できます。
APIレスポンスはどんな形?
APIは通常JSON形式でデータを送信します:
{
"name": "GitHub",
"location": "San Francisco",
"public_repos": 344
}
JSONって何? JSONデータ形式を理解するドキュメントをご確認ください!
実践活用例
ブログを作る
ブログ投稿リストを見る:
GET https://myblog.com/api/posts
新しい投稿を作成:
POST https://myblog.com/api/posts
ショッピングモールを作る
商品リストを見る:
GET https://myshop.com/api/products
カートに追加:
POST https://myshop.com/api/cart
主要用語まとめ
| 用語 | 意味 | 例 |
|---|---|---|
| リクエスト (Request) | サーバーに何かを要求すること | 「天気情報をください」 |
| レスポンス (Response) | サーバーが送る返事 | 「ソウルは晴れです」 |
| エンドポイント (Endpoint) | APIのアドレス | /api/weather |
| メソッド (Method) | どんな動作をするか | GET, POST, PUT, DELETE |
| JSON | データをやり取りする形式 | {"city": "Seoul"} |
よくある質問 (FAQ)
Q1: APIは無料ですか?
A: APIごとに異なります!
- 無料API:公共データ、GitHubなど
- 一部無料API:1日に何回までは無料(Google Mapsなど)
- 有料API:決済システム、プレミアムデータなど
Q2: APIを作るにはどうすればいいですか?
A: バックエンドプログラミングを学ぶ必要があります。
- Node.js + Express
- Python + Django/Flask
- Java + Spring などを学べばAPIを作れます!
Q3: API Keyって何ですか?
A: APIを使用できるパスワードのようなものです。
https://api.example.com/data?key=YOUR_API_KEY_HERE
Q4: エラーが出たらどうすればいいですか?
A: APIはエラーコードで知らせてくれます:
200:成功!404:見つかりません500:サーバーエラー
詳しくはHTTPステータスコードガイドをご確認ください!
次のステップ 🚀
APIの基本 を理解したら:
- ✅ JSONデータ形式を理解する - APIがデータをやり取りする方法
- ✅ API Tester - 直接APIを使ってみる
- ✅ HTTPステータスコードガイド - APIレスポンスコードを理解する
- ✅ cURL Converter - APIリクエストを様々な形式に変換
まとめ
APIは難しくありません!プログラム同士が会話する方法だと考えればいいです。
レストランのウェイターのように、APIは:
- 私たちのリクエストを受け取って
- サーバーに伝えて
- 結果を持ってきてくれる役割をします
もうAPIが何か理解できましたか?🎉