お役立ち情報

APIで出来ることをまとめました!Web初心者必見のAPIの説明書

APIってなんだろう?

APIとは、Application Programming Interfaceの略です。日本語でシンプルに言うと、ソフトウェアの機能を共有するものになります。

ただしこれだけだと具体性に欠けるので、このページではAPIとは何か、何ができるのか、ということを説明していきます。

APIの仕組みと具体例

APIの概要は上記の通りですが、具体的にどのような仕組みで共有するのでしょうか。

それは、ソフトウェアの一部をインターネット上に公開することで共有します。「誰でも好きなように使っても良いですよ」という形でソフトウェアをアップロードすることで、利便性が高まり、さらにそのAPIを誰かが改良してアップロードされることも多いです。

たとえばLinuxなどはOSが無料でいろいろと配布されていますが、あれもある意味APIと言えます。なぜなら、OSもプログラミングでできており、それが無料でネット上に公開されているからです。

ユーザー目線だとOSはAPIではないのですが、既存のOSをベースに改造等加えて利用する場合そのOSはAPIと言えます。

APIの意味

LinuxのOSは種類が豊富ですが、それらは元のLinuxのOSをベースにエンジニアがそれぞれ改造して再配布したものです。私は最近ubuntuをインストールして設定してみたのですが、優れたOS、APIだと感じています。

PCを自作している人はLinuxのOSを利用している人も多いかと思いますが、WindowsやMacのOSが古くなってきた人も新しいバージョンを購入するのではなくLinuxのOSにしてみても良いかもしれません。

実際何をAPIと呼ぶか定義は曖昧で人によって考え方も異なりますが、私の考えではLinuxのOSはAPIの代表的なもので、なおかつ優れたものだと思います。またLinuxのOSはカスタマイズしやすいという特徴がありますが、カスタマイズする際にインストールするソフトウェアなどもAPIが多いです。

他の例としては、マップ連携型のアプリを開発する場合Google MapsのAPIを利用するケースが多くなります。地図機能も含めてゼロからプログラミングすることも可能ですが、使えるものは使った方が開発が効率的です。

APIのイメージ

APIの構成

APIの構成はシステムの機能と説明書です。つまり、内部のロジックまでは公開していません。APIと似たものにオープンソースがありますが、最大の違いはソースコードを公開しているかそうでないかでしょう。

また説明書といってもどこまで丁寧に説明を記述しているかはAPIによってまちまちです。ほぼ説明がないものもあるので、メインはシステム機能の提供になります。APIは一般的に誰でも使用できるようシステムと説明書がセットで提供されているのが一般的ですが、なかには制限が掛かっているものもあります。

たとえば、FacebookのAPIなどは完全に誰でも利用できるわけではありません。そして規約も設定されています。インスタグラムはFacebookのAPIを使用していますが、これはインスタグラムをFacebookが買収しているからです。

インスタグラムがFacebookのAPIを使用しているなら他のSNSでも使用できるのではないか、新しくSNSサービスを立ち上げるのは簡単なのではないか、と勘違いされるケースもあるようですが、APIだからといってすべて無料公開されているわけではありません。

基本的にはAPIは無料でネット公開されているシステムのことを指しますが、上述の通りAPIの定義は曖昧で、状況に応じて別の意味合いの用語として使われることがあります。FacebookのAPIはその良い例でしょう。

APIの公開方法

自分のスキルアップや広告収入等につなげるためにAPIを公開したいと考えている人もいるかもしれません。

APIを作るためには高い技術力が必要ですが、公開する流れは簡単です。具体的には以下のようになります。

アプリをAPIサイトに登録する

API公開したいアプリケーションがすでに完成している前提ですが、まずはこのアプリケーションをAPIサイトに登録します。APIを提供しているサイトは複数ありますが、ネットで検索すればすぐに出てきます。

登録内容の詳細は企業によって異なる部分もありますが、「アプリ名」「アプリケーションドメイン(URL)」「どのURLへ返答するか(コールバック)」などの情報を入力します。これらの基本情報を入力したら、次に「APIキー」「シークレットキー」といったキーを取得します。

キーという呼び名が一般的になっていますが、パスワードとIDのようなものなので特に難しいことはありません。

これがAPI?!

企業がホームページで積極的にAPI提供している事例

API専用サイトだけではなく、企業が独自にホームページ等でAPIを提供しているケースもあります。たとえば、チャットツールで有名なChatworkは独自にAPIを提供しています。

ホームページから利用申請してそのまま使用することが可能で、なおかつビジネス目的での開発ももちろん可能です。ドキュメントのなかでもソースコードや詳細な説明が行われており、各機能のイメージや実際のロジックが考えやすくなっています。

たとえば、以下のコードでChatwork APIにアクセスすることが可能です。

curl -v -H ‘Authorization: Bearer eyJjdHkiOiJKV1QiLCJ0eXAiOiJKV1
QiLCJhbGciOiJSUzI1NiIsImtpZCI6ImlOUVh0dFR2RHZhcDVkSWpGQz
A5ZHZadHFXaGQ2WmFRb2pKenVuUS1vV28ifQ.eyJhdWQiOiJodHR
wczovL2FwaS5jaGF0d29yay5jb20iLCJzdWIiOiIxNzMiLCJhY2NvdW5
0X2lkIjoiMTczIiwic2NvcGUiOlsiYWxsIl0sImlzcyI6Imh0dHBzOi8vb2F1
dGguY2hhdHdvcmsuY29tIiwiZXhwIjoxNTAyMjUxNDU4LCJpYXQiOjE1
MDIyNDk2NTgsImp0aSI6IjRlNzg5ZTAzLTk2NjAtNDc4MC1hYThkLTV
mZjk2YmU0MzMyNSIsImNsaWVudF9pZCI6Ikx2bzBZTjkyZ2E1a1AifQ.
Y14Sr0SmtgwLegwWPMeQlPut2XmP74y3QdupCAN7Hc5Id10Qvgq-
csuYVxxAYStqZUO4sZ_j9SeE7-rqhuNowDMwqVaTGfDvAvtQLitPKD
Ub2g6x87c-lfffkJkIiL1xcH3lHrmQkBa_H81-_a3VFJila8hFptvygOp1
9OSDSrUIlcq6PeHlfNQtXjs2VFREQydQNE2cdLe68Nh5F5V4HX20C4
49MKNWK4ybwmFrnX-o9KgERaP1rjrCcWYrZ-lK8TquHti9XMfSaj71e
DkfPVOLyCOe1_zBEEH8NRFtN2OcVQWJFPy09rz1yw7a1YARdsU4
DukrhWvWcVxIad8ygA’ \
‘https://api.chatwork.com/v2/me’

 

基本的なコードはそのまま流用して、URL等の指定先を書き換えていけばChatworkのようなチャットアプリが完成します。

まずはいろいろなAPIを見て比較してみるのが良いでしょう。

キャリアカウンセリングのプロとして
あなたに合った案件をご案内します。

まずはお気軽にお問い合わせください!

イメージ