スプレッドシートのデータを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ファイル)を生成して、email・key・projectId を取得します。
2. GASにFirestoreAppライブラリを追加
Google Apps Script エディタで左サイドバーの「ライブラリ」の「+」をクリックし、以下のスクリプトIDを入力します。
1VUSl4b1r1eoNcRWotZM3e87ygkxvXltOgyDZhixqncz9lQ3MjfT1iKFw
最新バージョンを選択して追加します(識別子: FirestoreApp)。
3. 認証情報とスプレッドシートIDを設定
fireStoreCertification 関数に取得した認証情報を入力します。スプレッドシートIDはURLの /d/ と /edit の間にある文字列です。
4. 実行
setDataToFireStore 関数を実行します。初回は権限の許可を求めるダイアログが表示されます。
参考
記事の更新をメールで受け取る
質問・リクエストを送る
記事についての質問や、取り上げてほしいテーマがあればお気軽にどうぞ。いただいた質問はブログ記事として回答し、Q&Aページで公開することがあります。