Instagramの投稿をWordPressに埋め込む方法
Web APIとは?【Webサービス開発で利用】

※ このサイトはアフィリエイト広告(Amazonアソシエイト含む)を掲載しています。
この記事ではWeb APIについて解説します。
よく「APIを叩く」という言葉を聞いたりすることがあると思います。この記事を読んでAPIの概要を理解しましょう。
Webプログラムの機能を別のシステムからHTTPで呼び出すWeb APIを利用することで単純な機能を組み合わせて高度で高品質なサービスを実現できます。
HTTPを含めて、どのような仕組みでWebページが表示されているかわからない方は、まずは以下の記事を読んでみてください。

Webの全体像【エンジニアに必須】
API
APIとは、Application Programming Interfaceの略です。
プログラムでは自分の機能を別のシステムやプログラムから呼び出してもらうことがあります。APIはそのために用意した命令や関数のことです。
つまり、APIを使用すれば、自分で用意することなく、外部から便利な機能を持ってきて、それを使用することができます。
Web API
特に、HTTPを介して呼び出すAPIをWeb APIと呼びます。
HTTPについて詳しく知りたい方は、次の記事を読んでみてください。

HTTPとは?【サーバー/ブラウザ間の通信手段】
Web APIの構成
Web APIでは、Webサービス側でAPIを用意します。
利用する側は、そのAPIと自身が持つデータや機能を組み合わせてユーザーに提供します。
ここで、Web APIはHTTPで呼び出されています。
Web APIの提供側と利用側は同じシステムである必要はありません。

Web APIの具体例
実際に多くのWebサービスがAPIを公開しています。
例えば、Googleは地図のAPI、Amazonや楽天はショッピングのAPIを提供しています。
他にも、機械学習のAPIもあります。
Web APIのメリット
Web APIを提供することには様々なメリットがあります。
Web APIの提供側は、自分たちでは提供が難しい多様なサービスを提供してもらえます。それにより、新たなユーザーの獲得につながります。
一方、Web APIの利用側は、本来は自分で開発しなければならない機能を時間をかけて開発することなく使用することができます。
また、実現が難しい機能もWeb APIがあれば、簡単に開発できます。
さらに、独自の機能やデータを提供元の異なるWeb APIと組み合わせれば、高度なWebサービスを開発することができます。これをマッシュアップといいます。
実装における特徴
Web APIには、実装面にも特徴があります。
利用者にとってWeb APIが変化しなければ、提供側の内部構造は変化しても良いという特徴があります。プログラムをアップデートしたり、新しいOSやデータベースを利用したりすることも可能です。
この結果、システム開発を分離できます。
もし、開発を分離していないと提供側がAPIを変更したら、利用者もAPIを呼び出すプログラムを変更する必要があります。
システムが分離されていれば、Webサービスどうしが独立して開発や運営を進めることができます。
もう一つのWeb APIの実装面の特徴は、多くのエンジニアの経験に基づいた最も良い方法を用いてWeb APIが作られているということです。
これによって、Webサービスを手間をかけずに作ることができます。
現在、Web APIの標準的な手法としてRESTとJSONが主流になっています。
この二つの技術を理解しておけば、新しいWeb APIを使うときもスムーズに理解できます。
次章で詳しい解説を行います。
REST
RESTとは、Representational State Transferの略です。
RESTは、HTTPの特徴を活かしたWebサービスの設計スタイルです。
RESTでは、いくつかの制約に合わせてコンポーネントを分離することで、システムをシンプルにして、Webサービスを拡張しやすくできます。
JSON
JSONとは、JavaScript Object Notationの略です。
JSONは、JavaScriptの記法をベースにしたデータ交換フォーマットです。
扱いやすくシンプルな記法で、プログラム側で簡単に利用したり、HTTPで送受信したりできます。
JavaScript以外の多くのプログラミング言語で採用されています。
まとめ
この記事では、外部の機能を使う方法であるAPIについて解説しました。
Web APIを使用すれば、様々な機能をもったWebサービスを開発できるようになります。
Web APIを公開しているサービス(Google、Amazonなど)もたくさんあるので、実際に利用してみましょう。
このブログだけでもWebの基礎知識を網羅的に学べますが、本で学びたい方にはこちらがおすすめです!
リンク
おすすめ記事