インターネット

【インターネット】APIとは?具体的な概念やメリットについて徹底解説

TwitterやfacebookなどのWebサービスの中には「API」を公開しているものがあります。APIとは「Application Programming Interface」の頭文字をつなげたものです。

しかしこの言葉だけでは、どのような概念で、どのように使うのかピンと来ないでしょう。

そこで今回はAPIについて、具体的なサンプルを交えて徹底解説します。

APIとは?

まずAPIの定義をIT用語辞典で確認しましょう。

APIとは、あるコンピュータプログラム(ソフトウェア)の機能や管理するデータなどを、外部の他のプログラムから呼び出して利用するための手順やデータ形式などを定めた規約のこと。

API 【 Application Programming Interface 】

この定義からだけでは、いまいちわかりにくいですね。

ポイントは「外部の他のプログラムから呼び出して」という部分。ここがAPIの肝です。

例えばTwitterにはいくつかのクライアントプログラムが多数公開されています。具体的には以下のものがそうです。

  • TweetDeck
  • HootSuite
  • Janetter
  • Tabtter Free
  • Crowy

ここで紹介したTwitterのクライアントは、Twitterが管理しているデータを、外部からアクセスすることで動作しています。しかしTwitterは何も全てのデータにフルアクセスできるように公開しているわけではありません。

Twitterは予め決められた方法で、必要なデータのみを外部からアクセスできるように公開しているにすぎません。そしてそのデータを必要とするクライアントはTwitterが提供しているAPIを利用しているにすぎません。このように使い方にルールが決められている点がAPIの大きな特徴です。

「公開されているAPI」と「APIを利用するプログラム」の接点となるのが「Interface(インターフェース)」です。これは「窓口」のようなものをイメージするとよいでしょう。

例えばTwitterのタイムラインを自分のブログに表示させたい場合を考えましょう。Twitterには特定のアカウントのタイムラインを公開するためのAPIがあり、外部の開発者は自分のブログのサイドバーに、Twitterのタイムラインを取得するためのプログラムを「TwitterのAPI」を使って開発します。

つまりTwitterはタイムラインを公開するためのAPIを、あたかも「窓口」のように提供しており、外部の開発者はその「窓口」からタイムラインを表示させるためのTwitterのAPIを利用するというわけです。

APIの使い方にはルールがある

Twitterの例を取り上げましたが、APIにはルールがあります。なんでもかんでも自由に使えるようにしてしまうと、APIを公開している大元のサービスが不安定になったり、セキュリティの観点から危険な状態になったりするからです。

多くのAPIには「この機能はこのような方法で使ってください」「このような使い方はできません」「1時間にXXXX回しかAPIを使えません」など使い方に対してルールと制限があります。もしこれらのルールと制限を無視してしまうと、正常にAPIを使えなくなるだけでなく、APIを使うためのアカウントがBANされてしまうこともあります。

特にAPIの利用制限については注意が必要です。

例えばTwitterに関しては昨年、こんな記事が公開されました。

Twitter APIの新しい制限として、

  • ツイートおよびリツイート(合算値):3時間で300件
  • いいね:24時間で1,000件
  • フォロー:24時間で1,000件
  • ダイレクトメッセージ:24時間で15,000件

Twitter APIを使っているプログラムのほとんどには影響がなかったこのアップデートでしたが、一部の大規模なTwitterクライアントには、このAPIの制限緩和のための手続きが必要になりました。

APIを使うメリット

APIを使う3つのメリットについて説明します。

アプリケーションを効率的に開発できるようになる

たとえば自社のWebサービスに対してログイン認証の機能が必要な場合、すでに存在しているfacebookやTwitterなどのログイン認証機能をつかうことで、アプリケーション開発の工数を削減でき、効率的になります。

これは「シングルサインオン」と呼ばれる技術です。ログイン認証周りの実装はセキュリティの観点からも難易度が高く、安全な実装には手間と時間が必要です。しかし、すでに動作しているfacebookやTwitterのログイン認証を活用することで、セキュリティレベルの高いログイン認証が実装できるだけでなく、自社内でユーザー管理をする手間も省けます。

自社でデータの管理をしなくても済む

例えばAmazonで販売されている商品の情報をAPIを使って取得し自社サイトに掲載する時、Amazonに登録されている商品の価格が変わってしまっても、API経由でデータを取得していれば、自動的に自社サイトで掲載されている価格情報も更新されます。

これがもし、Amazonで販売されている商品の情報を、目視で確認して価格情報を自社サイトに転記していた場合を考えてみましょう。

この場合、価格などの情報の変更があるかどうか、毎日チェックして、もし変更があった場合は、自社サイトの情報をいちいち書き換える必要があります。

これはすごく面倒ですよね。

しかしAPIを使って情報を取得していれば、常に最新の情報が自社サイトに掲載されるので、毎日のチェックが不要になり、情報に変更があっても書き換える必要はありません。

あるWebサービスのAPIと別のWebサービスのAPIを組み合わせて全く別のWebサービスが作れる

あるWebサービスのAPIと別のWebサービスのAPIを組み合わせて、全く別のWebサービスの開発が可能になります。このような開発を「マッシュアップ」と言います。

例えばインターネット上に本棚が作れる「ブクログ」というサービスがあります。

ブクログではユーザー別に仮想の「本棚」が用意されて、ユーザーはそこへ自由に本を追加できます。

ブクログではAmazonのAPIだけでなく、他の書店のAPIも使われており、本の詳細検索機能で確認できます。下の画像をご確認ください。

例えば電子書籍の検索画面では「Kindle」だけでなく「honto」や「DMM.com」などの電子書籍からの検索も可能です。

このようにブクログでは、様々な書籍の販売元のデータを使って、仮想の本棚を作ることができます。これもマッシュアップの一例です。

API使用時の注意点

便利なAPIですが、注意点もあります。公開されているAPIの機能や制限が、公開元の都合によって大きく変更される場合があるという点です。

最近だとGoogle Map APIの仕様変更が大きな話題となりました。

このGoogle Map APIの変更では、これまで無料で使用できていたAPIについて、従量課金制が導入され、さらにAPIの利用についてAPIキーの登録が必須となりました。

このようにAPIは公開元のWebサービスの都合によって、使い方や制限、機能などが変わってしまう可能性があります。

これはAPIを利用している側の立場ではどうすることもできず、もしAPIの仕様変更があった場合には、アプリケーションの開発方法や機能などを変更して対応するしかありません。

まとめ

APIについて詳しく解説してきました。個人的にAPIを使う最大の魅力は、記事中でも紹介した「マッシュアップ」だと思います。

様々なWebサービスのAPIを組み合わせれば、これまでに全くなかった別のWebサービスの開発も可能になります。

APIの具体的な使い方については、ここでは紹介できませんでしたが、それほど難しいものであありません。

アイデアや工夫次第でオリジナルのWebサービスの開発ができるAPI。ぜひチャレンジしてみてくださいね。

===

このブログの更新情報をTwitterで配信しています。よろしければフォローお願いします!
@jugedred

facebookページも運営中です。
よろしければこちらもフォローお願いします!
Jugedred Project

ABOUT ME
ドレッド
フリーライター&Webクリエイター。1999年から趣味のホームページ制作を開始。Movable TypeやWordPressのカスタマイズでWeb制作を覚えました。地元の制作会社で5年間勤務して独立。現在は個人事業主としてWeb制作に関することを何でもやってます。
お仕事のご依頼お待ちしております。

このブログの運営者にお仕事を依頼しませんか?

コレカラウェブ

現在はフリーランスのクリエイターとして、ウェブメディアのライティングやホームページ制作、コンサルティングをしています。まずは事業用サイト「コレカラウェブ」にアクセスしていただき、お気軽にお問い合わせください。メールでのご相談は無料です。皆様からのご連絡お待ちしております。

コレカラウェブ公式サイトへ

POSTED COMMENT

  1. マルリン より:

    こんにちは、ランキングから来ました。
    私のまだ知らない世界なので、すごく参考になりました。
    ありがとうございました。

  2. ナルカナ より:

    こんにちは。ブログランキングから来ました。まだインターネットに疎いので大変勉強になりました、ありがとうございます。

COMMENT

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA