「APIって何?」「API連携ってよく聞くけど、どういう意味?」
プログラミングを学び始めると、必ず出会う言葉がAPI(エーピーアイ)です。
なんとなく難しそうに感じるかもしれませんが、実は私たちは日常的にAPIの恩恵を受けています。
この記事では、APIの仕組みを身近な例えを使ってわかりやすく解説します。
APIとは?
APIは「ソフトウェア同士の窓口」
APIは「Application Programming Interface」の略で、日本語では「アプリケーション・プログラミング・インターフェース」と呼びます。
簡単に言うと、「ソフトウェア同士が情報をやり取りするための窓口(ルール)」のことです。
たとえば、あなたがレストランに行ったとき、直接キッチンに入って料理を作ることはできませんよね。代わりにウェイターに注文を伝え、ウェイターがキッチンに伝え、できた料理を持ってきてくれます。
この「ウェイター」の役割をするのがAPIです。
【あなた(アプリA)】
│
│ 「天気情報をください」(リクエスト)
▼
【API(ウェイター)】
│
│ キッチン(サーバー)に注文を伝える
▼
【天気情報サービス(アプリB)】
│
│ 情報を準備
▼
【API(ウェイター)】
│
│ 「東京は晴れ、気温20度です」(レスポンス)
▼
【あなた(アプリA)】
なぜAPIが必要なのか?
「直接データを取りに行けばいいのでは?」と思うかもしれません。
しかし、APIがあることで以下のメリットがあります:
- セキュリティ:内部のデータベースに直接アクセスさせない
- 簡単さ:複雑な処理を意識せず、決まった方法でデータを取得できる
- 標準化:どのアプリからでも同じ方法でアクセスできる
身近なAPIの例
実は、私たちは毎日APIを使っています。具体例を見てみましょう。
例①:天気予報アプリ
スマホの天気予報アプリは、気象庁や民間の気象会社が提供する天気APIからデータを取得して表示しています。
アプリ開発者が自分で天気を観測しているわけではありません。
例②:Googleマップの埋め込み
Webサイトに表示されているGoogleマップは、Google Maps APIを使って埋め込まれています。
Googleが提供するAPIを使うことで、自分で地図を作らなくても、高機能な地図をサイトに表示できます。
例③:SNSログイン(Googleでログイン)
「Googleでログイン」「LINEでログイン」というボタンを見たことがあるでしょう。
これは各サービスが提供する認証APIを使っています。ユーザーは新しくアカウントを作らなくても、既存のアカウントでログインできます。
例④:オンライン決済
ECサイトでクレジットカード決済をするとき、裏側では決済API(Stripe、PayPayなど)が動いています。
お店が直接カード情報を扱うのではなく、決済サービスのAPIを通じて安全に処理されます。
APIの仕組み(リクエストとレスポンス)
APIの基本的な動きは、「リクエスト」と「レスポンス」の2つです。
リクエスト(要求)
「このデータをください」「この処理をしてください」とAPIに依頼することをリクエストと呼びます。
レスポンス(応答)
リクエストに対して、APIが返してくれるデータや結果をレスポンスと呼びます。
【リクエストの例】
「東京の今日の天気を教えて」
【レスポンスの例】
{
"city": "東京",
"weather": "晴れ",
"temperature": 20,
"humidity": 45
}
このレスポンスはJSON(ジェイソン)という形式で返されることが多いです。JSONはデータを構造化して表現する形式で、プログラムから扱いやすいのが特徴です。
Web APIでよく使われる「HTTPメソッド」
Web上でAPIを使う場合、HTTPメソッドというものでリクエストの種類を指定します。
| メソッド | 意味 | 例 |
|---|---|---|
| GET | データを取得する | ユーザー情報を取得 |
| POST | データを新規作成する | 新しい投稿を作成 |
| PUT | データを更新する | プロフィールを更新 |
| DELETE | データを削除する | 投稿を削除 |
最もよく使うのはGET(データを取ってくる)とPOST(データを送る)の2つです。
APIを使ってみよう(簡単な例)
実際にAPIを使う簡単な例を見てみましょう。
例:郵便番号から住所を取得するAPI
zipcloudという無料のAPIを使うと、郵便番号から住所を取得できます。
ブラウザで以下のURLにアクセスしてみてください:
https://zipcloud.ibsnet.co.jp/api/search?zipcode=1000001
すると、以下のようなJSONデータが返ってきます:
{
"status": 200,
"results": [
{
"zipcode": "1000001",
"prefcode": "13",
"address1": "東京都",
"address2": "千代田区",
"address3": "千代田"
}
]
}
このように、郵便番号「100-0001」に対応する住所(東京都千代田区千代田)が返ってきます。
プログラムからこのAPIを呼び出せば、郵便番号入力時に住所を自動入力する機能が作れます。
APIを使う際の注意点
① 利用規約を確認する
APIには利用規約があります。無料で使えるものでも、商用利用が禁止されていたり、1日のリクエスト回数に制限があったりします。必ず確認しましょう。
② APIキーの管理
多くのAPIではAPIキー(認証用の文字列)が必要です。このAPIキーはパスワードと同じ扱いで、他人に知られないよう管理する必要があります。
GitHubなどに公開するコードにAPIキーを含めないよう注意しましょう。
③ エラーハンドリング
APIは常に正常に動くとは限りません。ネットワークエラーやサーバーエラーが発生する可能性があります。エラー時の処理(エラーハンドリング)も実装しておきましょう。
よく使われる公開API
プログラミング学習や個人開発で使える、無料の公開APIをいくつか紹介します。
| API名 | できること |
|---|---|
| OpenWeatherMap | 世界中の天気情報を取得 |
| 郵便番号検索API | 郵便番号から住所を検索 |
| PokeAPI | ポケモンの情報を取得(学習用に人気) |
| Google Maps API | 地図の表示、経路検索 |
| YouTube Data API | YouTube動画の情報を取得 |
| Twitter API | ツイートの取得・投稿 |
APIを学ぶメリット
APIを理解し、使いこなせるようになると、以下のようなことができるようになります:
- 外部サービスと連携したアプリが作れる
- 自分でデータを用意しなくても、豊富なデータを活用できる
- 他のサービスと組み合わせて、便利なツールが作れる
現代のWebサービスは、APIなしでは成り立たないと言っても過言ではありません。エンジニアとして働くなら、APIの基礎知識は必須です。
まとめ
| 用語 | 意味 |
|---|---|
| API | ソフトウェア同士が情報をやり取りするための窓口 |
| リクエスト | APIへの要求(「データをください」) |
| レスポンス | APIからの応答(返ってくるデータ) |
| JSON | データをやり取りするときによく使われる形式 |
| APIキー | APIを使うための認証情報(パスワードのようなもの) |
APIは最初は難しく感じるかもしれませんが、実際に使ってみると「こんな簡単にデータが取れるんだ!」と感動するはずです。
まずは無料の公開APIを使って、実際にデータを取得してみることから始めてみましょう。
SKサービスでエンジニアとしてのキャリアをスタート
SKサービスでは、未経験からエンジニアを目指す方を積極的に採用しています。
APIの基礎から実務で使えるスキルまで、現場で着実に身につけられる環境があります。
正社員雇用で安定した環境。最短3ヶ月で現場変更できるから、さまざまな経験を積みながら成長できます。
この記事が参考になったら、ぜひSNSでシェアしてください!