WebアプリのAPIとは — 外部から操作する仕組みをやさしく解説
- yuji fukami
- 3 日前
- 読了時間: 8分

Webアプリは、通常であれば画面を開き、ボタンをクリックしたり文字を入力したりして操作します。
しかし、Webアプリに「外部操作用のAPI」を用意すると、別のアプリやプログラムから直接Webアプリを操作できるようになります。
例えば、次のような連携が可能です。
案件管理アプリから、タスク管理アプリへ作業開始を登録する
ExcelやGoogleスプレッドシートから、Webアプリへデータを送信する
スマートフォンアプリから、Webアプリの情報を取得する
定期実行プログラムから、自動的にデータを更新する
別の会社が提供するサービスと、自分のWebアプリを連携する
APIは、複数のシステムをつなぐための「受付窓口」のような仕組みです。
APIとは何か
APIは、正式には「Application Programming Interface」といいます。
簡単に表現すると、外部のプログラムから、Webアプリの機能を呼び出すための窓口です。
通常のWebアプリでは、人が画面を操作します。
利用者
↓
Webアプリの画面
↓
データの登録・更新APIを使用する場合は、別のプログラムがWebアプリへ直接命令を送ります。
外部アプリ
↓ APIで命令を送信
Webアプリ
↓
データの登録・更新つまり、APIを用意することで、人が画面を操作しなくてもWebアプリを動かせるようになります。
Webアプリを外部から操作する基本的な流れ
外部アプリからWebアプリを操作するときは、主に次の流れで処理されます。
① 外部アプリがAPIへリクエストを送る
↓
② Webアプリがリクエスト内容を確認する
↓
③ データベースへの登録・取得・更新などを行う
↓
④ 処理結果を外部アプリへ返す外部アプリから送る命令を「リクエスト」、Webアプリから返される結果を「レスポンス」と呼びます。
具体例:案件管理アプリからタスクを開始する
例えば、次の2つのアプリがあるとします。
案件管理アプリ … 顧客名、案件名、納期、金額などを管理するアプリ
タスク管理アプリ … 現在行っている作業、作業開始時刻、終了時刻、作業時間などを管理するアプリ
案件管理アプリで案件を確認したあと、タスク管理アプリを別途開き、案件名を入力して作業開始ボタンを押すこともできます。
ただし、毎回同じ情報を入力する必要があるため、手間がかかります。
そこで、タスク管理アプリに外部操作用のAPIを用意します。
案件管理アプリ
↓
「この案件の作業を開始してください」
↓ API
タスク管理アプリ
↓
作業開始情報を登録案件管理アプリの「作業開始」ボタンを押すだけで、タスク管理アプリ側にも作業情報が登録されます。
APIへ送る情報の例
案件管理アプリから、次のような情報を送信します。
{
"projectId": "P-001",
"projectName": "売上集計ツールの開発",
"customerName": "サンプル株式会社",
"taskName": "VBAコード作成",
"startTime": "2026-07-12T10:00:00+09:00"
}送信する内容には、例えば次の情報を含められます。
案件ID
案件名
顧客名
作業内容
作業開始時刻
操作したユーザー
備考
受け取ったタスク管理アプリは、この情報をデータベースへ登録します。
Webアプリから返される結果
処理が正常に完了した場合は、次のような結果を返します。
{
"success": true,
"message": "タスクを開始しました",
"taskId": "T-105"
}エラーが発生した場合は、次のような結果を返します。
{
"success": false,
"message": "案件IDが指定されていません"
}外部アプリは、この結果を確認して利用者にメッセージを表示します。「タスクを開始しました」または「タスクを開始できませんでした」といった具合です。
このように、APIでは処理を行うだけでなく、処理が成功したかどうかも外部アプリへ返します。
APIのURL(エンドポイント)
APIには、操作する機能ごとにURLを用意します。
例えば、タスク管理アプリの場合は次のような構成です。
POST /api/tasks/start
POST /api/tasks/finish
GET /api/tasks
GET /api/tasks/105それぞれの役割は次のとおりです。
POST /api/tasks/start … タスクを開始する
POST /api/tasks/finish … タスクを終了する
GET /api/tasks … タスクの一覧を取得する
GET /api/tasks/105 … 特定のタスクを取得する
このようなAPIのURLを「エンドポイント」と呼びます。
GETとPOSTの違い
APIでは、どのような操作を行うのかを指定します。代表的なものがGETとPOSTです。
GETは、データを取得するときに使用します。
GET /api/tasks例えば、登録されているタスクの一覧を取得する場合に使用します。
POSTは、新しいデータを登録したり、何らかの処理を実行したりするときに使用します。
POST /api/tasks/start例えば、新しいタスクを開始する場合に使用します。
そのほか、データの更新にはPUTやPATCH、削除にはDELETEが使用されることもあります。
APIを作ると何が便利になるのか
APIを作成する最大のメリットは、Webアプリの機能をほかのシステムから再利用できることです。
二重入力を減らせる … 一つのアプリへ入力した情報を、別のアプリへ自動的に送信できます
作業を自動化できる … ボタン操作や定期実行によって、データ登録や更新を自動化できます
複数のアプリを連携できる … Excel、Googleスプレッドシート、デスクトップアプリ、スマートフォンアプリなど、異なるシステムを連携できます
将来的な機能拡張がしやすい … 最初は案件管理アプリとの連携だけでも、後から別のアプリや外部サービスと連携できるようになります
APIを作る際に必要な機能
外部操作用APIを作る場合は、主に次の処理を用意します。
リクエストの受付 … 外部アプリから送られた情報を受け取ります
入力内容の確認 … 必須項目が入力されているか、不正な値ではないかを確認します
データベース処理 … データの登録、取得、更新、削除などを行います
結果の返却 … 処理が成功したか、エラーが発生したかをJSON形式などで返します
認証・権限確認 … 許可されたアプリや利用者からの操作であるかを確認します
セキュリティ対策も重要
APIのURLが分かれば誰でも操作できる状態にすると、外部の第三者から不正操作される可能性があります。
そのため、APIには認証機能を用意する必要があります。代表的な方法として、APIキーがあります。
Authorization: Bearer xxxxxxxxxxxxx外部アプリがAPIを呼び出す際に、専用のキーを一緒に送信します。Webアプリ側は、正しいキーが送られている場合のみ処理を実行します。
外部アプリ
↓ APIキーと一緒にリクエスト
Webアプリ
↓ APIキーを確認
正しい場合のみ処理を実行APIキーは、パスワードと同じように外部へ公開しないことが重要です。
API仕様書を用意する
APIを作成した場合は、外部アプリからどのように利用するのかを説明する資料も必要です。
API仕様書には、主に次の内容を記載します。
APIのURL
GETやPOSTなどの送信方法
送信する項目
必須項目
返される結果
エラーの種類
認証方法
サンプルコード
例えば、タスク開始APIであれば次のようにまとめます。
URL
POST https://example.com/api/tasks/start送信データの例です。
{
"projectId": "P-001",
"taskName": "VBAコード作成"
}成功時に返る結果の例です。
{
"success": true,
"taskId": "T-105"
}エラー時に返る結果の例です。
{
"success": false,
"message": "taskNameは必須です"
}API仕様書があることで、APIを作った本人以外でも連携処理を実装しやすくなります。
APIを利用できるシステムの例
APIは、さまざまなシステムから利用できます。
Excel VBA
Google Apps Script
Webアプリ
デスクトップアプリ
スマートフォンアプリ
Power Automate
Python
JavaScript
社内システム
外部のクラウドサービス例えば、Excel VBAからAPIを呼び出して、Excel上の案件情報をWebアプリへ登録することも可能です。
Google Apps ScriptからAPIを呼び出し、スプレッドシートに入力された情報をWebアプリへ送ることもできます。
画面操作による自動化との違い
Webアプリ同士を連携する方法として、ブラウザ上のボタンを自動クリックする方法もあります。
しかし、画面操作による自動化は、画面のデザインやボタンの位置が変わると動かなくなる可能性があります。
API連携では、画面を経由せずに処理を直接実行します。
画面操作による連携
外部プログラム
↓ ブラウザを開く
画面を操作
↓
ボタンをクリックAPIによる連携
外部プログラム
↓ APIへ送信
Webアプリの処理を直接実行長期的に安定したシステム連携を行う場合は、APIを利用する方法が適しています。
APIを作るときの基本構成
APIを持つWebアプリは、次のような構成になります。
[ 外部アプリ ] Excel・GAS・別のWebアプリなど
│ APIリクエスト
▼
[ API ] 認証・入力確認・処理の振り分け
│
▼
[ Webアプリの処理 ] 登録・取得・更新・削除
│
▼
[ データベース ] Supabase・Firebase・SQLなど外部アプリは、データベースを直接操作するのではなく、APIを通してWebアプリへ処理を依頼します。
これにより、データの入力確認や権限管理をWebアプリ側で統一できます。
まとめ
Webアプリに外部操作用のAPIを用意すると、別のアプリやプログラムからWebアプリの機能を実行できるようになります。
API連携の基本的な流れは、次のとおりです。
外部アプリが命令を送る
↓
APIが命令を受け付ける
↓
Webアプリが処理を行う
↓
処理結果を外部アプリへ返すAPIを利用することで、次のような仕組みを構築できます。
複数のアプリ間で情報を共有する
同じ情報の二重入力をなくす
データ登録や更新を自動化する
ExcelやスプレッドシートとWebアプリを連携する
将来的に別のサービスとも連携できるようにする
Webアプリを単独で使用するだけでなく、ほかのシステムと連携できるようにすることで、業務全体の自動化や効率化につなげられます。
