カテゴリ: Office Scripts 更新日: 2026/03/16

Office Scriptsで外部API連携!fetchとBearer Tokenで認証付きAPIを使う方法【Excel自動化×HTTP通信入門】

認証付きAPI(Bearer Tokenなど)の実装
認証付きAPI(Bearer Tokenなど)の実装

先生と生徒の会話形式で理解しよう

生徒

「Office Scriptsで外部APIと連携したいです。Bearer Tokenって何ですか?」

先生

「Bearer Tokenは、APIを安全に使うための合言葉のようなものです。正しいトークンを送ると、サーバーが処理を許可してくれます。」

生徒

「Excelの自動化とAPI認証って難しそうです…。」

先生

「大丈夫です。fetchによるHTTP通信と認証の仕組みを、初心者向けに順番に説明します。Excel OnlineとOffice Scriptsを使えば実現できますよ。」

1. Office Scriptsとは?

1. Office Scriptsとは?
1. Office Scriptsとは?

Office Scriptsは、Excel Onlineで使える自動化機能です。Excelの操作をコードで記述し、ボタン一つで繰り返し処理を実行できます。セルへの値入力、表の作成、データ整理などを自動化できるため、業務効率化やデータ処理の自動化に役立ちます。

Office ScriptsではTypeScriptというプログラミング言語を使います。TypeScriptはJavaScriptをもとにした言語で、Web開発やAPI連携でも広く使われています。そのため、fetchを使ったHTTP通信や外部API連携も可能です。

2. 外部API連携とHTTP通信の基本

2. 外部API連携とHTTP通信の基本
2. 外部API連携とHTTP通信の基本

APIとは、アプリケーション同士がデータをやり取りするための仕組みです。HTTP通信とは、インターネットを通じてデータを送受信する方法のことです。Office Scriptsではfetch関数を使ってHTTPリクエストを送信します。

リクエストとは「ください」とお願いすること、レスポンスとは「どうぞ」と返ってくる結果です。まずはシンプルなGET通信の例を見てみましょう。


async function main(workbook: ExcelScript.Workbook) {
  const response = await fetch("https://api.example.com/data");
  const data = await response.json();

  const sheet = workbook.getActiveWorksheet();
  sheet.getRange("A1").setValue(data.message);
}

asyncやawaitは「処理が終わるまで待つ」という意味です。API通信では結果が返るまで少し時間がかかるため、この書き方が必要になります。

3. 認証付きAPIとは?Bearer Tokenの仕組み

3. 認証付きAPIとは?Bearer Tokenの仕組み
3. 認証付きAPIとは?Bearer Tokenの仕組み

認証付きAPIとは、誰でも自由に使えないAPIのことです。利用者を確認するために認証情報を送ります。その代表的な方法がBearer Token認証です。

Bearerとは「持っている人」という意味です。つまり、正しいトークンを持っている人だけが利用できます。トークンは長い文字列で、API発行元から発行されます。

HTTP通信では、ヘッダーという情報欄にトークンを設定します。ヘッダーは封筒の宛名のようなものです。

4. Bearer Tokenを使ったfetch実装方法

4. Bearer Tokenを使ったfetch実装方法
4. Bearer Tokenを使ったfetch実装方法

それでは、Office ScriptsでBearer Token認証を実装してみましょう。Authorizationヘッダーに「Bearer トークン」を指定します。


async function main(workbook: ExcelScript.Workbook) {

  const token = "YOUR_ACCESS_TOKEN";

  const response = await fetch("https://api.example.com/secure-data", {
    method: "GET",
    headers: {
      "Authorization": `Bearer ${token}`,
      "Content-Type": "application/json"
    }
  });

  const result = await response.json();

  const sheet = workbook.getActiveWorksheet();
  sheet.getRange("A1").setValue(result.status);
}

headersの中にAuthorizationを追加するのがポイントです。Content-Typeはデータ形式を示します。application/jsonはJSON形式を意味します。

5. POST通信と認証付きデータ送信

5. POST通信と認証付きデータ送信
5. POST通信と認証付きデータ送信

GETは取得、POSTは送信です。APIにデータを送る場合はPOSTを使います。例えばExcelのセルの値をAPIへ送信する例です。


async function main(workbook: ExcelScript.Workbook) {

  const sheet = workbook.getActiveWorksheet();
  const value = sheet.getRange("A1").getValue();

  const token = "YOUR_ACCESS_TOKEN";

  const response = await fetch("https://api.example.com/post-data", {
    method: "POST",
    headers: {
      "Authorization": `Bearer ${token}`,
      "Content-Type": "application/json"
    },
    body: JSON.stringify({ message: value })
  });

  const result = await response.json();
  sheet.getRange("B1").setValue(result.reply);
}

JSON.stringifyはデータを文字列に変換する処理です。API通信では文字列形式で送信します。

6. エラー処理と安全なAPI連携

6. エラー処理と安全なAPI連携
6. エラー処理と安全なAPI連携

認証付きAPIでは、トークンが間違っているとエラーになります。エラー処理も重要です。tryとcatchを使います。


async function main(workbook: ExcelScript.Workbook) {
  try {
    const token = "YOUR_ACCESS_TOKEN";

    const response = await fetch("https://api.example.com/secure-data", {
      headers: {
        "Authorization": `Bearer ${token}`
      }
    });

    if (!response.ok) {
      throw new Error("認証エラーまたは通信失敗");
    }

    const data = await response.json();
    workbook.getActiveWorksheet().getRange("A1").setValue(data.message);

  } catch (error) {
    workbook.getActiveWorksheet().getRange("A1").setValue("エラー発生");
  }
}

response.okは成功したかどうかを確認する仕組みです。API連携では必ずエラーチェックを入れましょう。

7. セキュリティとトークン管理の注意点

7. セキュリティとトークン管理の注意点
7. セキュリティとトークン管理の注意点

Bearer Tokenは重要な鍵です。第三者に知られると不正利用される可能性があります。実務ではPower Automateなどと組み合わせ、安全な環境で管理します。

Excel自動化や業務効率化のためにAPI連携を使う場合でも、トークンをコードに直接書かない工夫が必要です。セキュリティ対策はとても重要です。

Office Scriptsでの外部API連携、fetchによるHTTP通信、Bearer Token認証を理解すると、クラウドサービス連携やデータ自動取得が可能になります。Excel自動化の可能性は大きく広がります。

まとめ

まとめ
まとめ

今回は、Office Scriptsを使った外部API連携の基本から、fetchによるHTTP通信、Bearer Tokenを使った認証付きAPIの実装方法までを順番に学びました。Excel Onlineで動作するOffice Scriptsは、TypeScriptを利用して記述する自動化機能であり、単なるセル操作だけでなく、Web APIと連携したデータ取得やデータ送信まで実現できる強力な仕組みです。

まず重要なのは、APIとは何か、HTTP通信とは何かを理解することです。APIはアプリケーション同士をつなぐ窓口であり、HTTP通信はインターネットを通じてデータをやり取りする方法です。Office Scriptsではfetch関数を使うことで、GET通信によるデータ取得やPOST通信によるデータ送信を簡単に実装できます。asyncとawaitを使うことで、非同期処理を正しく制御し、レスポンスが返るまで待つ安全なプログラムを書くことができます。

次に学んだのがBearer Token認証です。認証付きAPIでは、AuthorizationヘッダーにBearerトークンを設定することで、正しい利用者であることをサーバー側に証明します。トークンは鍵のような存在であり、セキュリティ対策として厳重に管理する必要があります。Content-Typeにapplication/jsonを指定し、JSON.stringifyでデータを文字列に変換する流れも重要なポイントでした。

また、エラー処理もAPI連携では欠かせません。response.okで通信成功を確認し、tryとcatchで例外処理を行うことで、安全で実務に耐えられるExcel自動化プログラムになります。Office Scriptsと外部API連携を組み合わせることで、クラウドサービスとの連携、自動データ収集、業務効率化、レポート自動作成など、実践的なExcel自動化が実現できます。

総合サンプルプログラム(認証付きGET通信+エラー処理)


async function main(workbook: ExcelScript.Workbook) {
  try {

    const token = "YOUR_ACCESS_TOKEN";

    const response = await fetch("https://api.example.com/secure-data", {
      method: "GET",
      headers: {
        "Authorization": `Bearer ${token}`,
        "Content-Type": "application/json"
      }
    });

    if (!response.ok) {
      throw new Error("通信失敗または認証エラー");
    }

    const data = await response.json();

    const sheet = workbook.getActiveWorksheet();
    sheet.getRange("A1").setValue(data.message);
    sheet.getRange("A2").setValue("API連携成功");

  } catch (error) {
    workbook.getActiveWorksheet().getRange("A1").setValue("エラー発生");
  }
}

このように、Office Scriptsでfetchを活用し、Bearer Token認証を正しく設定し、HTTP通信とエラー処理を組み合わせることで、安全で実用的なAPI連携プログラムが完成します。Excel自動化とWeb API連携を理解することで、業務改善やデータ活用の幅は大きく広がります。

先生と生徒の振り返り会話

生徒

Office Scriptsで外部API連携ができるということは、Excelだけの作業ではなく、クラウドサービスともつながるということですね。

先生

その通りです。fetchを使ったHTTP通信を理解すれば、Web APIからデータ取得もできますし、POST通信でデータ送信も可能になります。

生徒

Bearer Tokenは認証のための鍵のようなものだと理解しました。Authorizationヘッダーに設定するのが重要ですね。

先生

よく理解できています。さらにContent TypeやJSON形式、JSON文字列変換も重要なポイントです。

生徒

エラー処理も忘れてはいけないですね。response確認や例外処理が安全なAPI連携には必要だと分かりました。

先生

その理解で完璧です。Office Scriptsと外部API連携を組み合わせれば、Excel自動化はさらに強力になります。実務でも活用できる知識です。

カテゴリの一覧へ
新着記事
New1
Office Scripts
Office Scriptsの基本!企業環境で安全にExcel自動化を使うための利用制限と管理者設定
New2
Office Scripts
Office Scriptsの基本!TypeScriptの型注釈を理解してExcel自動化を安全に書く方法
New3
Office Scripts
Office Scriptsの基本!Excel自動化で使うgetValues・setValues完全ガイド【初心者向け】
New4
Office Scripts
Office Scriptsの基本!エラー表示とログ確認でExcel自動化を安全に進める方法
人気記事
No.1
Java&Spring記事人気No1
Excel VBA
Excel VBAモジュール共有術!複数のブックでマクロを使い回す最適構成
No.2
Java&Spring記事人気No2
Excel VBA
個人用マクロブック(PERSONAL.XLSB)で作る最強の共通ライブラリ化ガイド
No.3
Java&Spring記事人気No3
Excel VBA
Excel VBAのプロジェクト構成とモジュール管理!標準・シート・ThisWorkbookの違い
No.4
Java&Spring記事人気No4
Excel VBA
VBAモジュールを安全にエクスポート・インポートする方法と注意点
No.5
Java&Spring記事人気No5
Excel VBA
ThisWorkbookに書くべき処理とは?VBAプロジェクトの正しい構成方法
No.6
Java&Spring記事人気No6
Excel VBA
Excel VBAのループ処理を徹底解説!For文とDo Loopで繰り返しを自動化
No.7
Java&Spring記事人気No7
Excel VBA
Excel VBAのブレークポイント設定と使い方!初心者でも理解できるデバッグの基本
No.8
Java&Spring記事人気No8
Office Scripts
Office Scriptsの基本!関数分割で読みやすいExcel自動化コードを設計する方法