• Skip to main content
  • Skip to primary sidebar

プログラミング入門ナビ by Proglus(プログラス)

プログラミング学習初心者のための情報メディア

You are here: Home / ツールの使い方 / APIって何?使い方やメリットを初心者にもわかりやすく解説!

APIって何?使い方やメリットを初心者にもわかりやすく解説!

2020-11-30 By プログラミング入門ナビ編集部

Tweet
このエントリーをはてなブックマークに追加
Pocket

目次

  • 1 はじめに
  • 2 まずは体験:APIを使ってみよう
  • 3 APIとは?
  • 4 APIのメリット
    • 4.1 提供する側
    • 4.2 使用する側
  • 5 有名なAPI
    • 5.1 Google Map
    • 5.2 Amazon Pay
    • 5.3 Facebook
  • 6 まとめ
  • 7 今すぐメルマガ登録!
  • 8 動画でプログラミング入門をしよう

はじめに

アプリ設計

API(読み:エーピーアイ)という言葉を聞いたことがあるでしょうか。

簡単にいえば、ソフトウェアの機能の一部を外部のソフトウェアから使用できるようにする仕組みのことです。

これだけ聞いてもピンと来ない方もいらっしゃるでしょう。

この記事では、APIとは何なのか?どう役立つものなのか?を初心者にもわかりやすく説明します。

また、有名なAPIについても紹介しますので、実際に使ってみる際の参考になれば幸いです。

まずは体験:APIを使ってみよう

APIについて理解するには、まずは実際にAPIを使ってみるのが早いです。

MacOSを使っている方はターミナル、Windowsを使っている方はコマンドプロンプトを開いて下記のように打ち込んでみてください。

$ curl "http://zipcloud.ibsnet.co.jp/api/search?zipcode=1000014"

ここで登場したcurlは、サーバとのデータのやりとりをするためのコマンドで、APIを使う時に使用されることが多いです。

今回の例ではWebサーバ(http://zipcloud.ibsnet.co.jp)とのデータやりとりをするために使用していると考えてください。

このコマンドを実行すると下記のような実行結果が得られます。

{
	"message": null,
	"results": [
		{
			"address1": "東京都",
			"address2": "千代田区",
			"address3": "永田町",
			"kana1": "トウキョウト",
			"kana2": "チヨダク",
			"kana3": "ナガタチョウ",
			"prefcode": "13",
			"zipcode": "1000014"
		}
	],
	"status": 200
}

何やら住所が出てきましたね。

実は先ほどのcurlコマンドを実行した際にアクセスしたWebサーバはzipcloudという郵便番号データ配信サービスです。

zipcloudのサービスURL(http://zipcloud.ibsnet.co.jp)に続く部分「/api/search?zipcode=1000014」では、「郵便番号100-0014の住所データが欲しい」とリクエストしています。

その結果「東京都千代田区永田町」の住所が返されたというわけですね。

外部からのリクエストを受けてzipcloudが保有している住所データベースを検索し、該当住所を返すというこの機能がまさにAPIなのです。

APIとは?

APIのイメージ

改めてAPIとは何なのか説明していきます。

API(Application Programming Interface)は、広い意味ではある機能をソフトウェア同士で共有するための仕組みです。

よく界隈で耳にする「APIを公開する」や「APIを叩く」といった文脈では、その中でも特に「Web API」のことを指します。

Web APIとは、APIの中でもWebサービスから提供されているもののことです。

冒頭の例でもzipcloudというサービスのWeb APIを使って住所情報を取得しましたね。先ほどはコマンドで手動で取得しましたが、通常は自分のWebサービスで二次利用するために活用します。

例えば自分のWebサービスでユーザーに住所入力をしてもらう時、郵便番号だけを入れたら住所を自動で補完入力してくれるような機能は、このWeb APIを使えばできますね。

このように、とあるソフトウェア(自分のWebサービス)から別のソフトウェア(今回の例ではzipcloud)の機能を利用するための仕組みがAPIです。

APIのメリット

メリットを説明する女性

APIを使うメリットについてみていきましょう。以下は主にWeb APIのことについて説明していきます。

提供する側

まず、APIを提供する側のメリットについてです。大抵のAPIは無料で提供されていることが多く、蓄えられたデータへのアクセスも許可するため、一見メリットがないように見えるかもしれません。

しかし、便利なAPIを公開しそれを使うWebサービスが増えれば増えるほどユーザーの目に触れる機会も増え、ついてはそれが自社サービスへの導線を拡大し、シェアを獲得することにつながります。

また、多くのWebサービスに使われるほど自社開発機能との組み合わせで新しい使い方が発見されたり、それがビジネス提携のきっかけになるなど、ビジネスチャンスを広げる機会としても有効です。

開発した機能を自社だけで独占するのではなく、多くの人に向けて公開し、さらなる便利な使い方を模索していくという考え方はまさにオープンイノベーションを体現しているといえます。

使用する側

次にAPIを使用する側のメリットですが、こちらは想像に難くないでしょう。

他社ですでに開発された便利な機能や、蓄えられたデータを二次利用できるためより新しいサービスを効率よく開発することができます。

ユーザー側の視点からも便利な場合が多いです。例えば別のサイトでユーザーが登録したアカウント情報をAPIによりそのまま活用して自社サイトでのログインに使用してもらう場合、ユーザーは面倒な会員登録をせずに済みます。

また、アカウント情報は重要な個人情報です。自社のセキュリティレベルで管理するよりもより大きなサイトで信頼性の高いシステムを活用して管理した方が、より高いセキュリティレベルを保つことができます。

有名なAPI

より具体的に理解するため、様々なサイトで多く活用されている著名なAPIについて見ていきましょう。

Google Map

よく、レストランや美容院を探すWebサイト等で所在地を見ようとするとGoogle Mapが表示されることはありませんか?

これは、そのサイトでGoogle Map APIを使用しているためです。

このように、GoogleはWebサイトでGoogle Mapの地図やストリートビューを表示できるAPIを公開しています。

Amazon Pay

ネットでお買い物をするときいざ支払いの場面になると、通常はそのサイトで初めて購入する場合はアカウント作成から始まります。その中で支払い方法や配送先住所を登録しますよね。

しかし、サイトによってはここでアカウントを作成する以外にも「Amazon Payで支払い」のオプションが提示されることがあります。

これを選択すると、ユーザーがAmazonで登録している配送先や支払い方法をそのまま使用できるため、面倒なアカウント作成をせずに済みます。

このように、ユーザーの利便性を重視してAmazonが提供するAmazon Pay APIを活用しているサイトも多いです。

Facebook

Facebookはユーザーのログイン情報を提供するAPIを公開しています。

例えば、とあるWebサイトを利用するにはユーザー登録が必要だったとしましょう。

少し気になるコンテンツがあってそれを見たいだけだったのに、登録が面倒だからといって離脱してしまうユーザーは多いです。

そんな時、FacebookログインAPIを使えば、そのサイトでのユーザー登録の代わりにすでに保有しているFacebookアカウントでログインしてもらうことができます。

まとめ

Webプログラミングする女性

APIについて、その用途やメリットを紹介しました。

自分のWebサービスならではの部分はもちろん自力での開発にこだわるべきですが、公開されているAPIで活用できそうなものはどんどん取り入れて効率よく開発しましょう。

また、自分でAPIを作って公開するのもおすすめです。実際に作ってみることでAPIに関する理解を深められるのはもちろん、いろんな人が使ってくれることで新しい使い道が見つかったり、ユーザーを自分のWebサービスへ誘導できることがあります。

まずはこの記事で取り上げたAPIを使って理解を深めてみると良いでしょう。

動画でプログラミング入門をしよう

オンライン学習サービスProglus(プログラス)でプログラミングを学び、創れる人になろう!

プレミアムプランを2週間無料体験しよう

今すぐ詳細を確認する

Tweet
このエントリーをはてなブックマークに追加
Pocket

Filed Under: ツールの使い方 Tagged With: API

Primary Sidebar

Proglus(プログラス) 採用情報 FindU

Twitter

Follow @programmingnavi Tweets by programmingnavi

人気の記事

  • VirtualBoxでNATとホストオンリーアダプターによる安全なネットワーク環境構築方法
  • VSCodeで画像が表示されない場合の対処法
  • VSCodeの基本~プロジェクトフォルダの設定方法について解説します!
  • Visual Studio Codeのメニューを 日本語化する方法と英語化する方法について解説!
  • Node.jsをmacOSからアンインストールする方法
  • MySQL WorkbenchからMySQLサーバーへの接続時やSQLファイルを取り込み時にエラーが発生した時の対処方法
  • JavaScriptの「net::ERR_FILE_NOT_FOUND」エラーが出る原因と対処方法を紹介!
  • 【Arduino入門】LCD(液晶ディスプレイ)に文字を表示しよう
  • MySQLをXAMPPを使ってWindows環境にインストールする方法
  • MAMP for MacOSによるMySQLのインストール方法

最近の投稿

  • 【SQL】ER図(Entity-relationship Diagram)について解説します!
  • 【MySQL】公式インストーラー(dmg)を使って、MySQLサーバーをmacOSにインストールする方法を解説
  • 【AWS Cloud9】Gitで使用するエディタを再起動してもvimの設定にする方法
  • 【VSCode】アクティビティバーに拡張機能アイコンが表示表示されていない場合の解決方法
  • 【Windows】Gitをインストールする方法についてプログラミング入門者向けに解説します

カテゴリー

  • Arduino入門
  • AWS
  • その他
  • エンジニアのしごと
  • エンジニアへの道
  • ツールの使い方
  • ニュース
  • プログラミング入門
  • 電子工作入門

タグクラウド

AI AWS AWS Cloud9 Cloud9 CodeWing CSS Emmet GCP Git GitHub Heroku HTML JavaScript Linux macOS MySQL MySQL Workbench node.js Nuxt.js Proglus Python Ruby Ruby on Rails SQL Udemy Visual Studio Code vscode Vue.js Web開発 Windows インストール エラー エンジニア オンライン学習 サーバー スクリーンショット セール プログラミング プログラミング入門 プログラミング学習 ユーデミー 初心者 未経験 機械学習 開発環境構築

アーカイブ

  • 2023年1月
  • 2022年12月
  • 2022年11月
  • 2022年10月
  • 2022年9月
  • 2022年8月
  • 2022年7月
  • 2022年4月
  • 2022年3月
  • 2022年2月
  • 2022年1月
  • 2021年10月
  • 2021年9月
  • 2021年8月
  • 2021年6月
  • 2021年4月
  • 2021年3月
  • 2021年1月
  • 2020年12月
  • 2020年11月
  • 2020年10月
  • 2020年9月
  • 2020年8月
  • 2020年7月
  • 2020年5月
  • 2020年4月
  • 2020年3月
  • 2020年2月
  • 2020年1月
  • 2019年11月
  • 2019年9月
  • 2019年7月
  • 2019年6月
  • 2019年5月
  • 2019年4月
  • 2019年3月
  • 2019年2月
  • 2019年1月
  • 2018年12月
  • 2018年11月
  • 2018年10月
  • 2018年9月
  • 2018年8月
  • 2018年7月
  • 2018年6月
  • 2018年5月
  • 2018年4月
  • 2018年3月

検索

Copyright © 2023 · programmingnavi.com ・About・プライバシーポリシー