いまさら聞けない!APIとは何か?〜基礎の基礎を学ぼう〜

eyecatch_template
佐野裕史
書いた人 佐野裕史

こんにちは!インストラクターの佐野( @HiroshiSano0711)です。

初心者にとって、「API」ってものすごく理解しづらいですよね。

「APIって何?」
「APIが公開されました!…ってどういうこと?」
「調べて説明を読んでも全然わからない…」

など、まったく理解ができない用語No1ではないでしょうか。

そこで今回は、APIを初心者の方が理解できるようにどこよりもわかりやすく徹底的に解説します!

APIとは

shutterstock_95643235

APIの定義

まずはWikipediaの説明をみてみましょう。

アプリケーションプログラミングインタフェース(API、英: Application Programming Interface)とは、ソフトウェアコンポーネントが互いにやりとりするのに使用するインタフェースの仕様である。

これではよくわからないですね。

ひとことでいうと、APIとは「ソフトウェアの機能を共有すること」です。

APIとはソフトウェアの機能を共有すること

APIは自己のソフトウェアを一部公開して、他のソフトウェアと機能を共有できるようにしたものです。

ソフトウェアの一部をWEB上に公開することによって、誰でも外部から利用することができるようになります。

それによって、自分のソフトウェアに他のソフトウェアの機能を埋め込むことができるようになるので、アプリケーション同士で連携することが可能になるのです。

「API」=「機能+仕様書」

ただ、外部からソフトウェアの機能を利用するといっても、内部のコードまでは公開していません。

ですので、外部からは機能の使い方や仕様がわからないため、「こうすると機能を利用できます」「この機能はこのように使ってください」のような使い方を説明する必要があります。

またセキュリティの観点から、「このような使い方はできません」「このような使い方はしてはいけません」などのルールも定められています。

「API」は、このような仕様やルールと一緒にまとめてWEB上に公開しているものが一般的です。

よって、APIとは「機能+仕様書」と言い換えることもできます。

なお、APIはWEB上で通信して利用することが普通なので「WEB API」と呼ばれることも多く、APIと書いている場合は通常「WEB API」を指します。

インターフェースとは何か?

APIは日本語でいうと「アプリケーションプログラミングインターフェース」です。

「アプリケーション」「プログラミング」はよく耳にする用語ですが、「インターフェース」は聞きなれない用語ですね。

IT用語としてのインターフェースは、人間とコンピューターが接する部分のことを指します。

人間とコンピューターの境界にたって、情報のやりとりをしてくれる役割をするものです。

具体的にいうと、パソコンのキーボードやマウス、テレビのリモコンや駅の券売機などがインターフェースにあたります。

これらはすべて、人間の操作に従ってコンピューターに情報を伝えて会話をしてくれる翻訳機のような役割をしていますね。

同じように、APIも「プログラマー」の代わりに「アプリケーションに情報や指示を出してプログラミングしてくれる」ような役割をしているので、「アプリケーションプログラミングインターフェース」と呼ばれているのです。

APIの本質とは?

shutterstock_403634383

ここまでで、APIに関してご理解いただけたのではないでしょうか。

「そもそもAPIはなぜ作られるのか」「なぜAPIを使うのか」といったことを知ると、より深く理解できるので、実戦でもしっかり活用できるようになります!

APIの本質に迫っていきましょう!

なぜAPIは作られるのか?

より多くの新しいサービスを開発するため

自社サービスの機能をAPIとして公開することで、同じ特徴をもったサービスが開発しやすくなります。

それによって、ある機能に特化させたり、さらに使いやすく一部の機能だけ改良することができます。

その結果、より多くのサービスが生まれ、世の中が便利になっていきます。

データの二次利用

APIでは他社のデータを使うこともできます。

同じ情報を様々な分野で活用してもらうことで、情報を分析することが容易になり、各分野に特化した分析をおこなうことができます。

そこから顧客の傾向や特徴を発見することで、イノベーションが生まれ、新しいビジネスが生まれるのです。

なぜAPIを使うのか?

開発を効率化

作りたい機能がすでにAPIで公開されているなら、同じプログラムを1から作る必要がありません。

それによって、開発時間を大幅に短縮できます。

さらに無料で利用できるため、開発コストも大幅に削減でき、かつ効率的にアプリケーションを制作することができるのです。

サービスの利用者にとって便利

他社のユーザー情報を使って、自社のサービスにログインできる機能を作ることができます。

そのため、あらためて会員登録をしてもらう必要がありません。

メールアドレスやパスワードの入力も必要ないため、ユーザーにとって面倒な手続きや手間を省くことができます。

APIは、アプリケーションやサービスを利用するユーザーにとっても便利な仕組みといえます。

APIを料理で例えるなら…

shutterstock_416591686

APIを料理で例えると、料理器具を他社から無料で借りて料理ができることと同じです。

1から自社で器具を用意しなくて済むので、手間を省いて効率よく料理をすることができます。

必要な器具を借りるだけで料理に制約はかかりませんので、好きな材料を使えば自由に料理をつくることができます。

APIが使われている実例

shutterstock_385720936
現在使われているAPIは数多くの種類があるので、イメージしやすいように実際に使われているAPIの実例をあげます。

Facebook APIを使っている大人気の「インスタグラム」をご紹介します。

インスタグラムはFacebook APIを使っているので、Facebookアカウントで登録ができてすぐに利用をはじめることができます。

このような画面を一度は見たことがあるでしょう。

Screenshot 2016-07-01 05.06.26

この画面は、Facebookの情報を使うので、「Facebookへのアクセスを許可しますか?」とユーザーに許可を求めています。

勝手にユーザーの情報を利用することはできませんので、必ずユーザーに許可をとる必要があります。

また、下図のようにFacebook APIを利用することで、同じFaceBookの友達がインスタグラムを使いはじめた時や、友達が投稿した時にお知らせしてくれたりします。

skitch (8)
これはFacebook APIを使って、Facebookと連携していないと実現できない機能です。

このようにAPIを使うことで簡単にアプリケーション同士で連携できるようになります。

APIを利用することで、アイディアや工夫次第で便利な新しいサービスを作ることも簡単になるのです。

APIの利用方法

shutterstock_400653643

APIの利用方法をご説明します。

利用方法はAPI全て共通なので、ご参考までに覚えておくといいでしょう!

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

まずは、APIを提供している企業の専用サイトへいき、ご自身のアプリケーション情報を登録します。

「このアプリケーションから利用しますよ!」とAPI側に教えてあげます。

登録する内容は、「アプリ名」「アプリケーションのドメイン(URL)」「どのURLへ返答すればいいか(コールバックと言われます)」などです。

これらの情報を登録することによって、どのアプリケーションからのアクセスかが判断できるようになり、連携できるようになります。

APIキーとシークレットを取得する

APIは誰でも自由に使えますが、データを扱うことができるので、セキュリティに注意する必要があります。

そこで用意されているものが、「APIキー」「シークレット」といわれるものです。

メールアドレスとパスワードの組み合わせのようなものです。

APIを利用する場合には、必ず必要になります。

アプリに設定して準備完了

取得した「APIキー」「シークレット」をアプリ側に設定します。

これで、外部から勝手に利用されることがなくなります。

これでAPIを使う準備は完了です。

リファレンスを見ながら実装する

準備が終わったら、あとはAPIのリファレンスを見ながら機能の使い方を覚えるだけです。

実際にコードを書いてみて、APIを利用してみると便利さが体感できます!

APIの種類

shutterstock_536303326

APIには非常にたくさんの種類があり、作成するアプリケーションの種類によって、さまざまなAPIが用意されています。

こちらの記事を読んでいただければどのアプリにどんなAPIが対応しているのかがすぐにわかり、迷うことなくあなたに合ったAPIを見つけることができます。

ご興味ある方はぜひご覧ください。

APIのおすすめ学習教材

shutterstock_381582874

「APIを使ってみたいけど、どうやって学習すればいいかわからない…」

そういった方に、おすすめの学習教材をご紹介します。

コンテンツ/サイト

APIを学習できるサイトやコンテンツはネット上にたくさんあります。

でも、多すぎてどれを選んだらいいかわからないかたはこちらの記事を読んでください。

おすすめの学習コンテンツ/サイトを5つ選定し、その内容の説明とどういった人にオススメなのかをご紹介しています。

あなたに合ったコンテンツ/サイトが見つかりますので、ぜひ参考にしてください。

書籍

APIは書籍でも学習できます。

あなたの目的、レベルにしっかりと合ったAPI学習本を選ぶことができればAPIを使ってアプリケーションを作っていくのに非常に役立ちます。

APIの書籍は、こちらの記事でご紹介していますので、効率良く学習を進めていただくのにぜひ参考にしてみてください。

まとめ

APIについて解説してきましたが、いかがでしたでしょうか?

APIは実際に開発で使ってみたりすることで便利さを実感することができます。

簡単に利用できるものもあるので、1つ使ってみるとだいたいの特徴や使い方のコツがつかめるでしょう。

ぜひAPIを使いこなして便利なサービスを作ってみましょう!

また、あなたが作ったアプリをAPIを利用することで、アイディアや工夫次第で便利な新しいサービスを作ることも簡単になるのです。

【たった3ヶ月でこんなの作れます】侍エンジニア塾、卒業生の作品を一挙大公開!オリジナルWEBアプリ4作品」では、弊社の卒業生が実際に作ったアプリをご紹介しています。

「ベジタリアン向けのレストラン検索サイト」など、どれもクオリティーが高く驚かれる方も多いと思います。

数ヶ月あればこういったアプリを作成することができますので、ご興味ある方はぜひチャレンジしてみてください。


33歳、未経験だった僕がフリーエンジニアになれた理由
現在フリーでWEBエンジニアをやられている濱口直行さん。33歳で、プログラミングを学び始め、約半年という短い期間で独立までされた学習ログを余すことなくインタビューさせていただきました。

プログラミングを学習中の方はもちろん、独立をお考えの方まで幅広く活用できる記事になっています。この機会に是非活用していただければと思います。


現役フリーランスエンジニアによる無料体験レッスン実施中!

もし、あなたが、

  • 経験、年齢、学歴に不安がある
  • 挫折しない学習方法が知りたい
  • アプリ開発で困っている
  • エンジニアの”生”の声が聞きたい!
  • 仕事獲得の仕方がわからない
  • エンジニアに転職したいが何をすればいいかわからない

など、プログラミング学習やキャリアのことでお困りであれば、まずは『無料体験レッスン』にお申し込み下さい。

あなたにとって、最適の解決策をご提案させていただきます。

詳しくは下の画像から詳しいサービス内容をご確認ください。

cta_mtm3

学習者インタビュー

人気記事セレクション

プログラミング学習者必見

専属講師に質問し放題、レッスンし放題!最短1ヶ月でフリーランスエンジニア
プログラミング学習カリキュラム無料公開中
Ruby学習カリキュラム無料公開中
Python学習カリキュラム無料公開中
 1記事最大11,000円!テックライター募集


LINEで送る
Pocket

この記事が気に入ったら
いいね!をしてフォローしよう

最新情報をお届けします

書いた人

佐野裕史

佐野裕史

侍エンジニア塾インストラクター。
主に技術担当をしています。

【経歴】
力仕事、接客業、営業職など様々な業界を経てIT業界に参入。
IT未経験からスタートし、1ヶ月で仕事獲得に奇跡的に成功。
1年半後にフリーランスに転身。

Web開発を主に行っており、得意とするのはRails、Ruby。
【技術スキル】
Rails、Ruby、Swift、Java(Android)、JavaScript

【趣味、趣向】
麻雀
MTG(マジックザギャザリング)
ダーツ、卓球、野球、ボウリングなどの球技

【Facebookページ】
https://www.facebook.com/hiroshi.sano.7
【Twitter】
プログラミング講師@佐野裕史
自分でプログラミングができない人のために情報を発信しています。
お気軽にフォローください。