最近よく聞く「API」って?
最近よく聞くようになった「API」。
みなさんはAPIがどのようなものかご存知でしょうか。
「API」とは?
APIとは「Application Programming Interface(アプリケーション・プログラミング・インターフェース)」の頭文字をとったものです。
アプリケーションとは、パソコンのソフトウェアを差します。文書を作成したり、表計算ができるのもソフトウェアです。スマートフォンにインストールされているものも「アプリ」と呼ばれています。
プログラミングとはプログラムを書くことを差します。パソコンに対しての指示や命令は全てプログラムで動いています。ボタンを押したときの処理や動きは、あらかじめプログラミングされたものをもとに実行されています。
インターフェースとは、繋げるものを差します。パソコンに文字を入力するには、キーボードを使用されると思います。このキーボードもパソコンとUSBケーブルで接続されています。この物と物を繋ぐものがインターフェースです。
APIとは、「ソフトウェアやアプリをプログラミングすることで機能を共有するもの」です。
APIの機能
パソコンやスマートフォンでアプリを操作している際に、別のアプリの登録画面が出てくることはありませんか?
別のアプリやサイトに個人情報を使って登録する際、個人情報の入力などがないと思います。
これはもともと登録されているアプリやサイトの個人情報を渡し、会員登録等を簡潔にしているのです。
APIとはアプリで取り扱っている情報や機能の一部を公開しています。
情報の取得方法も説明書できちんと説明されています。
その情報を取得し、自分のアプリで加工したり利用するのにプログラミングが必要になります。
みなさんが普段使われている身近なアプリのAPIを紹介します。
YouTube API
YouTubeのWebサイトやアプリに飛ばないまま、YouTubeの動画を再生したことはありませんか?
APIで連携し、専用のサイトやアプリに飛ばなくても埋め込まれたページ内で動画の視聴ができるようになっています。
Twitter API
Webサイトの記事を読んだ際、スクロールした最後に「ツイートする」というボタンがあります。
これもAPIで連携し、内容をそのままTwitterへ投稿できるようになっています。
Google Map API
企業のホームページにアクセスした際、企業の位置情報や地図でGoogle Mapと同じ画面を見ることはありませんか?
これはGoogle Mapを開かなくても、必要な情報を渡せば地図の情報は表示されるようになっているためです。
APIのメリットとデメリット
最大のメリットは機能を開発する必要が無いことです。
新機能を実装しようとすると、仕様を考えたり実現可能か調査をしたり、実装にも時間がかかりテストも必要になります。
新機能に必要な情報や機能がAPIで公開されている場合、取得方法だけ守れば容易に必要なデータを得ることができます。
圧倒的に開発にかかる時間とコストを抑えることが可能です。
さらにAPIで取得するのは情報のみなので、利用元のサービスのアップデートや仕様変更等には左右されにくいです。
APIを利用するデメリットは、使い方しかわからないことです。
簡単に利用でき、情報も取得し連携することができますが、容易にできる分、その仕組みが一切わかりません。
肝心なシステムのソースコードは非公開のため、利用元のサービスが終わると代替サービスを探すか自分で一から開発が必要です。
ノウハウが無いこととサービスの有無に左右されることはデメリットになります。
まとめ
APIを用いることで、個々で動いていたソフトが容易に連携できるようになりました。
お使いいただいている様々な業務ソフトも、メーカーが違ったり自社開発のソフトでもコストを抑えて連携ができます。
業務ソフトを導入して日常業務は効率化できたものの、データの受け渡しや連携を手作業でされている部分がありましたらお気軽にお問い合わせください。