スプレッドシートのデータをFirestoreに一括インポートする方法【GAS】

3分で読める テック
最終更新:

個人開発でフロントエンドを作るとき、APIを毎回用意するのが面倒なので、スプレッドシートでデータを管理してFirestoreに流し込む方法を試しました。

GitHubにコードを公開しています: isaka1022/import-to-firestore-from-spreadsheet-gas

注意(2026年時点): 以下で使用している FirestoreApp ライブラリはサードパーティ製です。Google公式ではありません。また、GASのライブラリ追加UIは以前と変わっており、現在は「エディタ → ライブラリ(+ボタン)→ スクリプトID入力」の手順です。

実装コード

function setDataToFireStore() {
  var sheet = SpreadsheetApp.openById('<your-spread-sheet-id>').getSheetByName('<your-sheet-name>');
  var certification = fireStoreCertification();
  var firestore = FirestoreApp.getFirestore(certification.email, certification.key, certification.projectId);

  try {
    // スプレッドシートに応じてループ範囲を変更してください
    for (var i = 2; i < 55; i++) {
      var titleValue = sheet.getRange(i, 1).getValue();
      var newData = { title: titleValue };
      firestore.createDocument("<your-firebase-collection-name>", newData);
    }
  } catch(e) {
    Logger.log(e);
  }
}

function fireStoreCertification() {
  return {
    "email": "<your-service-account>",
    "key": "-----BEGIN PRIVATE KEY-----\n...\n-----END PRIVATE KEY-----",
    "projectId": "<your-project-id>"
  };
}

セットアップ手順

1. Firestore の準備

Firebase Console でプロジェクトを作成し、Firestoreデータベースを作成します。プロジェクト設定の「サービスアカウント」から秘密鍵(JSONファイル)を生成して、emailkeyprojectId を取得します。

2. GASにFirestoreAppライブラリを追加

Google Apps Script エディタで左サイドバーの「ライブラリ」の「+」をクリックし、以下のスクリプトIDを入力します。

1VUSl4b1r1eoNcRWotZM3e87ygkxvXltOgyDZhixqncz9lQ3MjfT1iKFw

最新バージョンを選択して追加します(識別子: FirestoreApp)。

3. 認証情報とスプレッドシートIDを設定

fireStoreCertification 関数に取得した認証情報を入力します。スプレッドシートIDはURLの /d//edit の間にある文字列です。

4. 実行

setDataToFireStore 関数を実行します。初回は権限の許可を求めるダイアログが表示されます。

参考

質問・リクエストを送る

記事についての質問や、取り上げてほしいテーマがあればお気軽にどうぞ。いただいた質問はブログ記事として回答し、Q&Aページで公開することがあります。