プロフィール

開発用語Wiki

← 用語一覧に戻る

API

概要

API(エーピーアイ)とは「Application Programming Interface」の略で、ソフトウェア同士が情報をやり取りするための「窓口」のようなものです。

レストランでの注文に例えるとわかりやすいです。お客さん(自分たちのWebサイト)が、厨房(情報を持っているシステム)に直接入って料理(データ)を作ることはできません。そこで、ウェイター(API)に「ハンバーグをお願いします」と注文(リクエスト)を伝えると、ウェイターが厨房に伝えて、出来上がった料理(結果)を運んできてくれます。

このように、中身の複雑な仕組みを知らなくても、決まったお願いの仕方をすれば欲しい結果を返してくれるのがAPIの役割です。

詳しくは MDN Web Docs の API の解説 も参照してください。

詳しい説明

使う理由や背景、成り立ち

昔のソフトウェアは、すべての機能を自分たちで作って、ひとつの大きな塊として動かしていました。しかし、インターネットが普及すると「他の人が作った便利な機能やデータを、自分のプログラムからも使いたい」という要望が増えてきました。

たとえば、自分のWebサイトに地図を表示したいとき、地球上のすべての道路や建物のデータを自分で集めて地図システムをゼロから作るのは不可能に近いです。そこで、Googleマップのような地図サービスが「地図を呼び出すための専用の窓口(API)」を用意してくれました。この窓口を通せば、誰でも簡単に自分のサイトに地図を埋め込めるようになったのです。

APIの仕組みと使い方

APIは、基本的に「リクエスト(お願い)」と「レスポンス(お返事)」のやり取りで成り立っています。自分でプログラムを書くときは、次のような手順でAPIを使います。

  1. APIキーの取得: 誰でも無制限に使えると相手のサーバーがパンクしてしまうため、多くのAPIでは最初にサービスへ登録し、「APIキー」という専用のパスワードのようなものを受け取ります。
  2. リクエスト(要求)を送る: インターネットのアドレス(URL)に対して、「このAPIキーを添えるので、東京都の明日の天気を教えてください」といったメッセージをプログラムから送ります。
  3. レスポンス(応答)を受け取る: 相手のサーバーで処理が行われ、結果が返ってきます。このとき、プログラムが扱いやすい「JSON(ジェイソン)」というルールに沿った文字のデータで返ってくることがほとんどです。

届いたJSONデータを自分のプログラムで読み解き、Webサイトの画面に表示させることで、APIの機能がユーザーの目に見える形になります。

代表的なAPIサービス

世の中にはさまざまなAPIが公開されています。

海外の代表的なAPI

  • Google Maps Platform: 自分のWebサイトに地図を表示したり、目的地までのルート計算を行ったりできる機能を提供します。
  • OpenWeather API: 世界中の現在の天気や、数日先の天気予報データを取得できます。
  • Stripe API: クレジットカードなどのオンライン決済機能を、自分のシステムに安全に組み込むことができます。
  • GitHub REST API: プログラムのコードを管理するGitHub上のデータ(リポジトリの情報など)を読み書きできます。

日本の代表的なAPI

  • LINE Messaging API: プログラムからLINEのメッセージを自動で送信したり、ユーザーの返信に反応するボットを作ったりできます。
  • 楽天ウェブサービス API: 楽天市場の商品情報や、売れ筋ランキングなどのデータを検索・取得できます。
  • HeartRails Express: 日本全国の路線や駅名、入力した住所から一番近い駅などの地理データを取得できます。

どういうときに使うべきか

  • 他のサービスの機能やデータを借りたいとき
    • 天気予報のデータを取り込みたい
    • YouTubeの動画を検索して表示したい
    • クレジットカードの決済処理を安全に行いたい
  • 自分のシステムの画面(フロントエンド)と裏側(バックエンド)を切り離したいとき
    • スマートフォンアプリとWebブラウザの両方から、同じデータベースの情報を読み書きしたい場合、データのやり取り専用のAPIを作っておくと便利です。

メリット

  1. 開発の手間を大幅に省ける:すでに誰かが作った高度なシステムを、数行のプログラムを書くだけで利用できます。車輪の再発明(すでに存在しているものを一から作り直すこと)を防げます。
  2. セキュリティを保ちやすい:データベースなどの重要な部分を直接操作させるのではなく、APIという限られた窓口だけを開放することで、見られてはいけない情報を守ることができます。

デメリット

  1. 相手先の都合に振り回される:利用している外部のAPIのルールが突然変わったり、サービス自体が終了してしまったりすると、自分のWebサイトも動かなくなってしまう危険性があります。
  2. 通信のトラブルの影響を受ける:インターネットを通じてやり取りするため、相手のサーバーが混雑して返事が遅くなると、こちらのWebサイトの表示も遅くなってしまいます。

まとめ

APIは、異なるソフトウェアやサービス同士をつなぐ架け橋です。すべてを自作するのではなく、外部の便利なAPIをうまく活用することで、効率よく高機能なWebサイトを作ることができます。

このサイトでの使われ方

このサイトでは、大きく分けて2つの場面でAPIが使われています。

1つ目は、外部のデータを利用するためです。サイト内でゲームやアニメ、書籍の情報を表示する際、自分で情報を手入力するのではなく、インターネット上にある作品情報のデータベース(IGDBやTMDB、楽天ブックスなど)のAPIを利用して、自動的に正確な情報を取得しています。また、YouTubeの動画情報などもAPIを通じて取得しています。

2つ目は、サイトの画面とデータベースをつなぐためです。記事を新しく投稿したり、内容を修正したりするとき、画面上のプログラムが、データベースを操作するための専用のAPI(独自の窓口)にデータを送信することで、安全に情報の保存や更新を行っています。

Gemini
Powered by
Gemini
(使用モデル Gemini Pro)
← 用語一覧に戻る