【超入門】GASでAPIデータを取得する方法|初心者でもわかる基本とサンプルコード解説!

「GASでAPIを叩いてみたいけど、どうやるのかわからない」
「そもそもAPIってなに?」
そんな初心者のあなたへ向けて、Google Apps Script(GAS)でAPIデータを取得する方法を超わかりやすく解説します!

この記事では、APIの基本から、実際に動くサンプルコードまで、今日から実践できるレベルで紹介していきます!


1. そもそもAPIとは?初心者向けに超簡単に説明!

まず、「API(エーピーアイ)」とはなにか?
ざっくり言うと、

他のサービスやアプリにデータや機能を使わせてもらうための窓口

です。

たとえば、

  • 天気情報を取得するAPI

  • 為替レートを取得するAPI

  • チャット送信するAPI

など、世界中に無数のAPIが存在しています。

そして、**GAS(Google Apps Script)**を使えば、
こういったAPIからデータを取り出して、スプレッドシートに保存したり、メールで送ったり、色々できるのです!


2. GASでAPIデータを取得する流れをざっくり把握しよう

GASでAPIデータを取得する基本の流れは、たったこれだけ。

■ 基本フロー

  1. APIにリクエストを送る(URLFetchApp)

  2. レスポンス(返ってきたデータ)を受け取る

  3. 必要なデータを取り出して処理する

たったこれだけで、プロっぽいデータ連携ができてしまいます。


3. 【準備編】APIデータ取得に必要なもの

まず、以下を準備しましょう。

  • APIのエンドポイントURL(データ取得先)

  • 必要に応じてAPIキー(認証用の鍵)

  • GAS(Google Apps Script)のエディタ(スプレッドシートの「拡張機能」からアクセス可)

特別なソフトやライブラリは一切不要!
ブラウザだけで完結できます。


4. 【基本編】GASでAPIデータを取得する超シンプルサンプル

では、まずは超シンプルな例から。


サンプル:公共のAPIからデータを取得してログに出力

function fetchPublicApiData() {
  const url = 'https://api.publicapis.org/entries'; // 公開APIリストを取得
  
  const response = UrlFetchApp.fetch(url);
  const data = JSON.parse(response.getContentText());
  
  Logger.log(data);
}

このコードを実行すると、APIから取得したデータがログに表示されます!

ポイント:

  • UrlFetchApp.fetch(url)でリクエスト送信

  • getContentText()でレスポンスをテキスト形式で取得

  • JSON.parse()でJSON形式をオブジェクト化


5. 【応用編】APIキーが必要なAPIを使う方法

多くのAPIでは、「誰でもアクセスできないように」
APIキーという秘密の鍵が必要になります。

そんなときは、リクエストヘッダーにキーを追加します。


サンプル:APIキーを使ったリクエスト

function fetchApiWithKey() {
  const url = 'https://api.example.com/data';
  const apiKey = 'あなたのAPIキー';
  
  const options = {
    method: 'get',
    headers: {
      'Authorization': 'Bearer ' + apiKey
    }
  };
  
  const response = UrlFetchApp.fetch(url, options);
  const data = JSON.parse(response.getContentText());
  
  Logger.log(data);
}

ポイント:

  • AuthorizationヘッダーにAPIキーを設定

  • optionsオブジェクトで細かいリクエスト設定ができる

APIによっては、headers以外にも、

  • params

  • body などが必要な場合もあるので、APIドキュメントをしっかり確認しましょう!


6. 【実践編】取得したデータをスプレッドシートに書き込む!

ただログに出すだけではもったいない!
せっかくなので、データをスプレッドシートに保存してみましょう。


サンプル:取得データをスプレッドシートに展開

function fetchAndWriteToSheet() {
  const url = 'https://api.publicapis.org/entries';
  const response = UrlFetchApp.fetch(url);
  const data = JSON.parse(response.getContentText());
  
  const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  sheet.clear(); // シートをクリア
  
  sheet.appendRow(['API名', '説明', 'カテゴリ']); // ヘッダー作成
  
  data.entries.forEach(entry => {
    sheet.appendRow([
      entry.API,
      entry.Description,
      entry.Category
    ]);
  });
}

これで、APIから取得したデータが
スプレッドシートにずらっと一覧表示されます!


7. 【応用編】失敗しないためのエラーハンドリング

実際にAPI連携を運用していくと、

  • 通信エラー

  • レスポンス遅延

  • データ形式の不一致
    など、色々なトラブルが起こります。

そこで、基本的なエラーハンドリングを入れておきましょう。


サンプル:try-catchでエラー対応

function safeFetchApi() {
  try {
    const url = 'https://api.publicapis.org/entries';
    const response = UrlFetchApp.fetch(url, { muteHttpExceptions: true });
    
    if (response.getResponseCode() !== 200) {
      throw new Error('APIリクエスト失敗: ' + response.getResponseCode());
    }
    
    const data = JSON.parse(response.getContentText());
    Logger.log(data);
  } catch (e) {
    Logger.log('エラー発生: ' + e.message);
  }
}

こうしておけば、たとえエラーが起きても
スクリプトが止まらず、問題点をすぐ把握できます。


8. まとめ|GAS×APIで、できることが無限に広がる!

APIデータ取得は最初こそハードルが高そうに見えますが、

  • fetchして

  • parseして

  • 必要なデータを扱う

この流れさえ掴めば、誰でもすぐに使えるようになります

GASを使えば、スプレッドシートとAPIを簡単に連携できるので、

  • 毎朝天気データを取り込む

  • 株価を自動更新する

  • SNS情報を集計する
    など、ビジネスも趣味も、全部自動化できる世界が待っています!

まずは今回紹介したサンプルコードを動かして、
小さな成功体験を積み上げていきましょう!

Shop now