はじめに
こんにちは。
今日は、ITやプログラミングを学び始めたばかりの皆さんに向けて、「API(エーピーアイ)」って何なのか、すごくやさしく、できるだけ身近な例を使って説明していきたいと思います。
「APIって聞いたことはあるけど、正直よくわからない」
「専門用語ばっかりで頭が痛くなりそう」
そんな方でも、この記事を読み終わるころには、きっと「ああ、そういうことか!」とスッキリできるはずです。
それでは、いっしょにゆっくり進めていきましょう。
そもそもAPIって何の略?
まずはここから押さえておきましょう。APIは、英語で
Application Programming Interface
という言葉の頭文字を取ったものです。
日本語に直すと「アプリケーション同士がやり取りするための窓口」みたいな意味になります。
とはいえ、これだけだと、「なんのこっちゃ?」という感じですよね。
安心してください。ここからさらにかみ砕いていきます。
APIをめちゃくちゃ簡単に言うと?
たとえば、あなたがレストランに行ったとしましょう。
お店に入ったら、まずメニューを見て、注文をしますよね。このとき、あなたが直接キッチンに行ってシェフに
「ハンバーグ定食ひとつ!」
なんて叫んだりはしません。ちゃんとウェイターさんが間に入って、
「このお客様、ハンバーグ定食をご希望です」
とキッチンに伝え、料理ができたらまた運んできてくれます。この「ウェイター」の役割をするのが、まさにAPIなんです。
レストランの例でまとめると
- あなた(お客さん) → 「サービスを利用したい人」
- キッチン(システム本体) → 「サービスを提供する側」
- ウェイター(API) → 「お互いをつなぐ窓口」
つまり、APIは「これが欲しい!」というリクエストを受け取り、裏方でゴチャゴチャ難しいことをやって、
結果だけシンプルに持ってきてくれる、そんな存在なのです。
APIってどこで使われているの?
「そんな話、プログラマーだけに関係あるんでしょ?」と思うかもしれませんが、実は、私たちが日常で使っているサービスのほとんどに、APIが関わっています。
たとえば――
天気アプリ
スマホの天気アプリで今日の天気をチェックするとき、裏では天気予報のデータを提供している会社から情報をもらっています。そのやり取りをしているのがAPIです。
アプリが「今日の東京の天気を教えてください」とリクエストを送り、天気サービスが「晴れ、最高気温28℃」と答えてくれる。このやり取りがAPIで行われているのです。
Googleマップ
お店のサイトに「地図はこちら」と表示されているとき、あれもGoogleマップのAPIを使っています。
わざわざ地図を自作しているわけではなく、「この場所を地図で表示して」というリクエストを送り、Googleから地図画像をもらってきて表示しているんですね。
SNSのログイン連携
TwitterやFacebookで「このボタンを押すだけでログイン」みたいなやつ、見たことありませんか?あれも、各SNSのAPIを使って、アカウント情報を安全にやり取りしているのです。
APIを使うと、どんな良いことがあるの?
ここまで聞くと、「APIってすごく便利そう!」と感じたかもしれませんね。
実際、APIをうまく使うことで、いろんなメリットが生まれます。
① 自分で全部作らなくていい
たとえば、もし自分で「天気予報アプリ」を作ろうと思ったら、
世界中の天気をリアルタイムで集める仕組みを一から作らないといけません。
でも、APIを使えば、
すでにある天気データを「ちょっと貸してください」とお願いできるわけです。つまり、車輪の再発明をしなくていい。
そのぶん、本当に作りたい機能に集中できるのです。
② いつでも最新の情報が手に入る
APIを使えば、相手側のデータが更新されたら、こちらにもすぐ反映されます。たとえば、天気アプリなら、突然の雨雲情報もリアルタイムでキャッチできます。常に新鮮な情報を、最小限の手間で受け取れる。これも大きなメリットです。
③ 安全に情報をやり取りできる
たとえば、銀行アプリで口座残高を見るとき、あなたの大切なお金の情報が、むき出しでインターネットを流れていたら怖いですよね?APIを使えば、必要な部分だけ、しかも安全な形で情報をやり取りできます。
これによって、セキュリティもきちんと守られるのです。
APIってどうやって使うの?
実際にAPIを使うには、プログラミング言語(Python、JavaScriptなど)で「リクエスト」を送るコードを書く必要があります。でも、難しく考えなくて大丈夫です。基本的な流れは、どのAPIも似ています。
API利用の基本ステップ
- リクエストを送る
「これをください」とお願いする。 - レスポンスを受け取る
お願いしたものが返ってくる。
たったこれだけです。
リクエストを送るときは、どの情報が欲しいかをURLの形で指定します。
そして、レスポンスは「JSON」という形式でデータが返ってくることが多いです。(JSON=読みやすいルールで並べたデータ表みたいなもの、と覚えてください)
こんなふうに例えるとさらにわかりやすい
APIは「注文票」りレストランで、ウェイターさんに口頭で伝える代わりに、
きちんと注文票に「ハンバーグ定食1、ライス大盛り」と書く。
これがリクエストです。そして、キッチンから出来上がった料理が出てきたら、それがレスポンス。つまり、APIとは注文票を使った正確なやり取りと考えると、イメージしやすいですね。
まとめ
さて、ここまで読んでくださった皆さん。
最初に「APIってなに?」と思ったときよりも、だいぶイメージがわいてきたのではないでしょうか。
改めてまとめます。
- APIは、アプリケーション同士がやり取りするための窓口。
- レストランのウェイターのように、リクエストとレスポンスを仲介する。
- 身の回りの天気アプリや地図、SNS連携にも使われている。
- APIを使えば、効率よく、安全に、最新の情報が手に入る。
これを押さえておけば、今後プログラミングを学んでいく中で、
「あ、これはAPIを使えばいいのか」
「ここにAPIがあるから便利なんだな」
と、自然に考えられるようになります。