目次
はじめに
API(読み:エーピーアイ)という言葉を聞いたことがあるでしょうか。
簡単にいえば、ソフトウェアの機能の一部を外部のソフトウェアから使用できるようにする仕組みのことです。
これだけ聞いてもピンと来ない方もいらっしゃるでしょう。
この記事では、APIとは何なのか?どう役立つものなのか?を初心者にもわかりやすく説明します。
また、有名なAPIについても紹介しますので、実際に使ってみる際の参考になれば幸いです。
まずは体験:APIを使ってみよう
APIについて理解するには、まずは実際にAPIを使ってみるのが早いです。
MacOSを使っている方はターミナル、Windowsを使っている方はコマンドプロンプトを開いて下記のように打ち込んでみてください。
$ curl "http://zipcloud.ibsnet.co.jp/api/search?zipcode=1000014"
ここで登場したcurlは、サーバとのデータのやりとりをするためのコマンドで、APIを使う時に使用されることが多いです。
今回の例ではWebサーバ(http://zipcloud.ibsnet.co.jp)とのデータやりとりをするために使用していると考えてください。
このコマンドを実行すると下記のような実行結果が得られます。
{ "message": null, "results": [ { "address1": "東京都", "address2": "千代田区", "address3": "永田町", "kana1": "トウキョウト", "kana2": "チヨダク", "kana3": "ナガタチョウ", "prefcode": "13", "zipcode": "1000014" } ], "status": 200 }
何やら住所が出てきましたね。
実は先ほどのcurlコマンドを実行した際にアクセスしたWebサーバはzipcloudという郵便番号データ配信サービスです。
zipcloudのサービスURL(http://zipcloud.ibsnet.co.jp)に続く部分「/api/search?zipcode=1000014」では、「郵便番号100-0014の住所データが欲しい」とリクエストしています。
その結果「東京都千代田区永田町」の住所が返されたというわけですね。
外部からのリクエストを受けてzipcloudが保有している住所データベースを検索し、該当住所を返すというこの機能がまさにAPIなのです。
APIとは?
改めてAPIとは何なのか説明していきます。
API(Application Programming Interface)は、広い意味ではある機能をソフトウェア同士で共有するための仕組みです。
よく界隈で耳にする「APIを公開する」や「APIを叩く」といった文脈では、その中でも特に「Web API」のことを指します。
Web APIとは、APIの中でもWebサービスから提供されているもののことです。
冒頭の例でもzipcloudというサービスのWeb APIを使って住所情報を取得しましたね。先ほどはコマンドで手動で取得しましたが、通常は自分のWebサービスで二次利用するために活用します。
例えば自分のWebサービスでユーザーに住所入力をしてもらう時、郵便番号だけを入れたら住所を自動で補完入力してくれるような機能は、このWeb APIを使えばできますね。
このように、とあるソフトウェア(自分のWebサービス)から別のソフトウェア(今回の例ではzipcloud)の機能を利用するための仕組みがAPIです。
APIのメリット
APIを使うメリットについてみていきましょう。以下は主にWeb APIのことについて説明していきます。
提供する側
まず、APIを提供する側のメリットについてです。大抵のAPIは無料で提供されていることが多く、蓄えられたデータへのアクセスも許可するため、一見メリットがないように見えるかもしれません。
しかし、便利なAPIを公開しそれを使うWebサービスが増えれば増えるほどユーザーの目に触れる機会も増え、ついてはそれが自社サービスへの導線を拡大し、シェアを獲得することにつながります。
また、多くのWebサービスに使われるほど自社開発機能との組み合わせで新しい使い方が発見されたり、それがビジネス提携のきっかけになるなど、ビジネスチャンスを広げる機会としても有効です。
開発した機能を自社だけで独占するのではなく、多くの人に向けて公開し、さらなる便利な使い方を模索していくという考え方はまさにオープンイノベーションを体現しているといえます。
使用する側
次にAPIを使用する側のメリットですが、こちらは想像に難くないでしょう。
他社ですでに開発された便利な機能や、蓄えられたデータを二次利用できるためより新しいサービスを効率よく開発することができます。
ユーザー側の視点からも便利な場合が多いです。例えば別のサイトでユーザーが登録したアカウント情報をAPIによりそのまま活用して自社サイトでのログインに使用してもらう場合、ユーザーは面倒な会員登録をせずに済みます。
また、アカウント情報は重要な個人情報です。自社のセキュリティレベルで管理するよりもより大きなサイトで信頼性の高いシステムを活用して管理した方が、より高いセキュリティレベルを保つことができます。
有名なAPI
より具体的に理解するため、様々なサイトで多く活用されている著名なAPIについて見ていきましょう。
Google Map
よく、レストランや美容院を探すWebサイト等で所在地を見ようとするとGoogle Mapが表示されることはありませんか?
これは、そのサイトでGoogle Map APIを使用しているためです。
このように、GoogleはWebサイトでGoogle Mapの地図やストリートビューを表示できるAPIを公開しています。
Amazon Pay
ネットでお買い物をするときいざ支払いの場面になると、通常はそのサイトで初めて購入する場合はアカウント作成から始まります。その中で支払い方法や配送先住所を登録しますよね。
しかし、サイトによってはここでアカウントを作成する以外にも「Amazon Payで支払い」のオプションが提示されることがあります。
これを選択すると、ユーザーがAmazonで登録している配送先や支払い方法をそのまま使用できるため、面倒なアカウント作成をせずに済みます。
このように、ユーザーの利便性を重視してAmazonが提供するAmazon Pay APIを活用しているサイトも多いです。
Facebookはユーザーのログイン情報を提供するAPIを公開しています。
例えば、とあるWebサイトを利用するにはユーザー登録が必要だったとしましょう。
少し気になるコンテンツがあってそれを見たいだけだったのに、登録が面倒だからといって離脱してしまうユーザーは多いです。
そんな時、FacebookログインAPIを使えば、そのサイトでのユーザー登録の代わりにすでに保有しているFacebookアカウントでログインしてもらうことができます。
まとめ
APIについて、その用途やメリットを紹介しました。
自分のWebサービスならではの部分はもちろん自力での開発にこだわるべきですが、公開されているAPIで活用できそうなものはどんどん取り入れて効率よく開発しましょう。
また、自分でAPIを作って公開するのもおすすめです。実際に作ってみることでAPIに関する理解を深められるのはもちろん、いろんな人が使ってくれることで新しい使い道が見つかったり、ユーザーを自分のWebサービスへ誘導できることがあります。
まずはこの記事で取り上げたAPIを使って理解を深めてみると良いでしょう。
動画でプログラミング入門をしよう
オンライン学習サービスProglus(プログラス)でプログラミングを学び、創れる人になろう!
プレミアムプランを2週間無料体験しよう
今すぐ詳細を確認する