文中の説明画像をクリックすると拡大します。
APIとは?
Webサービスの開発やSNSを利用している時、「API」という言葉を見かけることがあります。
APIとは「Application Programming Interface」の頭文字をつなげたものです。この言葉だけではどのようなものか、なかなかイメージがつかないと思います。
もう少し具体的な例で解説しましょう。
APIの具体的な概念
APIという言葉の最後の「I」は「インターフェース(Interface)」です。インターフェースとは、コンピュータの世界では、「何か」と「何か」をつなげる「接点」のような意味を持ちます。
特にWebサービスの世界では、「公開しているサービス」と「プログラム」をつなげる接点の意味で、APIという言葉が用いられています。
例えば「公開しているサービス」として「Instagram」を見てみます。そこで「プログラム」に当たるものとしては、「Instagramの画像を自分のブログに表示させるためのプログラム」とします。
ここで、InstagramのAPIを使います。
Instagramの画像を、自分のブログに表示させるためには、Instagramの画像のURLを知る必要があります。このURLを知るための方法として、InstagramのAPIが用いられます。
つまり、「Instagramと、Instagramの機能を使う自分のプログラムの接点」がAPIなのです。
APIを使うことで、Instagramと自分で開発したプログラムを連携させることができ、Instagramの画像情報を取得できるようになるわけです。
APIの例
APIとしてよく利用されているのが、Google Map APIです。
Google Map APIを使うことで、「最寄り駅から自社の事務所までの経路を表示させる」ことができます。企業のWebサイトでも、Google Mapによる地図情報が掲載されているのを見たことがあるかもしれません。
また、WordPressのようなブログとSNSを連携させることもできます。例えば、WordPressに記事を公開したら、自動的にfacebookやTwitterに更新情報させるなどです。
また、TwitterのタイムラインをWordPressのブログのサイドバーに表示させているのを、見かけたことがあるかもしれません。
先ほど紹介した、Instagramの画像一覧などもブログのサイドバーに表示させることも可能です。
このように、APIによって様々な機能を使用することができるのです。
APIのメリット
APIのメリットについて紹介します。
メリット1:ソフトウェアの開発が効率化できる
ゼロからプログラムを開発することより、すでに公開されているAPIを利用することで、ソフトウェア開発の工数を削減できて、効率を上げることができます。
メリット2:ログイン処理が簡略化できる
Twitterやfacebookのアカウント情報を使って、別のWebサービスにログインした経験はありませんか?これはシングルサインオンと呼ばれる技術を使っています。
この機能は、各種のWebサービスのログイン認証機能のAPIを利用しています。
自社で開発したWebサービスのログイン機能を自社で実装するのではなく、すでに運用されているTwitterやfacebookのログイン機能を活用することで、セキュリティレベルの高いログインが実装できるだけでなく、ユーザーは新たにユーザー登録する必要もなくなります。
メリット3:新しいWebサービスが開発できる
すでに存在するWebサービスのAPIを組み合わせることで、まったく別のWebサービスの開発ができます。
例えば、「カエレバ」というサービスは、Amazonや楽天などの情報を組み合わせてアフィリエイトのコードを作成できるWebサービスです。
このように、複数のWebサービスのAPIを組み合わせて、別のWebサービスを開発することをマッシュアップと言います。
APIのデメリット
以上のように、非常に有用なAPIですが、デメリットもあります。
デメリット1:APIの仕様変更や公開停止することがある
APIは、Webサービスの運営者が外部に利用してもらうために公開しています。
Webサービスの運営者の都合やWebサービスの仕様変更に伴って、公開しているAPIの仕様変わったり、APIの公開自体が停止したりすることがあります。
実際に、InstagramやGoogle MapのAPIは何度も仕様が変更されており、そのたびにAPIの利用者はプログラムの修正などの対応に追われてきました。
デメリット2:APIの利用回数に制限があることがある
多くのAPIは無料で利用できますが、1日当たりのリクエスト数などに制限が設けられていることがあります。
例えば、TwitterのAPIでは、1アプリ当たりのツイートやリツイート数、いいね、フォロー、ダイレクトメッセージの回数に、制限が設定されています。
そのため、APIを利用したアプリを開発しても、そのアプリのユーザーが増えることで、すぐにAPIの利用制限回数に達してしまうこともあります。
APIを公開するということ
InstagramのようなWebサービスは、なぜAPIを公開しているのでしょうか。
もしAPIを公開しなければ、Instagramの画像はInstagramのWebサイトやアプリ上でしか見ることができなくなります。つまり、APIを公開しなければ、自社のWebサイトの訪問者やアプリの利用者は増えるはずです。
なぜそうしないのでしょうか。その答えは、おそらく次の通りです。
例えば、APIを使うことで、APIの提供元では公開されていないオリジナルの機能を開発することができます。
また、あるWebサービスのAPIと別のWebサービスのAPIを組み合わせて使うことで、まったく別の機能を持つWebサービスの開発が可能になります。
このように、すでにあるWebサービスの機能をAPIとして提供することは、開発者にとってとても魅力的に感じられます。
APIによって開発された独自のWebサービスは、APIの提供元の知名度の向上にもつながります。つまりAPIを公開することで、短絡的なユーザーの増加ではなく長期的な視点でユーザーの獲得につながっているのです。
まとめ
- APIとは公開されているWebサービスの機能を外部に提供するためのインターフェース。
- InstagramやTwitter、facebookなどでAPIを利用できる。
- 複数のWebサービスのAPIを組み合わせた、オリジナルのWebサービスの開発ができる。