Google Apps Script インポート・設定チェックリスト

実行状況

ステップ 項目 ステータス メモ
1. Google Apps Script プロジェクト作成 スクリプトエディタで新規プロジェクト作成  
2. 17個の.gsファイルをインポート 全17ファイルをコピー貼り付け  
3. Google Sheets(3シート)を作成 reservations、waitlist、weekly_summary の3シート作成  
4. Script Properties(11項目)を設定 LINE/Stripe の API キー等を設定  
5. Web Appをデプロイ GAS をウェブアプリとしてデプロイ  
6. LINE Developers Consoleを設定 Messaging API 設定、Webhook URL登録  
7. Stripe Dashboardでwebhookを設定 Webhook エンドポイント登録、シークレット設定  
8. トリガーを設定 自動通知用トリガーを設定  
9. 動作確認テスト doGet、LINEボット、スプレッドシート接続確認  
10. 本番運用開始 実際の予約受付開始  

設定値メモ

Script Properties に設定する値

// LINE 設定
LINE_CHANNEL_ACCESS_TOKEN: [LINEコンソールからコピー]
LINE_CHANNEL_SECRET: [LINEコンソールからコピー]
LINE_ADMIN_USER_ID: [管理者のLINEユーザーID]

// Stripe 設定
STRIPE_API_KEY: sk_test_[テストキー] または sk_live_[本番キー]
STRIPE_WEBHOOK_SECRET: whsec_[シークレット]

// スプレッドシート
SPREADSHEET_ID: [作成したシートのURLからIDを抽出]

// システム設定
DEPOSIT_AMOUNT_JPY: 1000
CANCELLATION_DEADLINE_HOURS: 2
REMINDER_HOURS_BEFORE: 24
RESALE_NOTIFICATION_MINUTES: 10
AVERAGE_UNIT_PRICE: 6000
NO_SHOW_THRESHOLD: 2
NO_SHOW_DEPOSIT_AMOUNT: 2000

Google Sheets シート名

  1. reservations
  2. waitlist
  3. weekly_summary

デプロイURL

GASデプロイ完了後の URL:

https://script.google.com/macros/s/[PROJECT_ID]/exec

※ [PROJECT_ID] はデプロイ時に自動生成されます


次のステップ

各ステップが完了したら、以下の項目にチェックを入れてください。

ステップ1: プロジェクト作成完了

  • スクリプトエディタが表示された
  • プロジェクト名を確認

ステップ2: ファイルインポート完了

  • config/ ディレクトリ(2ファイル)作成
  • services/ ディレクトリ(4ファイル)作成
  • handlers/ ディレクトリ(2ファイル)作成
  • templates/ ディレクトリ(1ファイル)作成
  • models/ ディレクトリ(2ファイル)作成
  • utils/ ディレクトリ(2ファイル)作成
  • Code.gs 作成

ステップ3: Google Sheets 作成完了

  • reservations シート作成(19列ヘッダー設定)
  • waitlist シート作成(6列ヘッダー設定)
  • weekly_summary シート作成(7列ヘッダー設定)
  • シート名が正しいか確認

ステップ4: Script Properties 設定完了

  • 全11項目のプロパティ設定
  • 値が正しく入力されているか確認
  • 「保存」ボタンをクリック

ステップ5: Web App デプロイ完了

  • ウェブアプリとしてデプロイ
  • URL を取得
  • URL を記録

ステップ6: LINE Developers Console 設定完了

  • Messaging API チャネル設定完了
  • チャネルアクセストークンを Script Properties に設定
  • チャネルシークレットを Script Properties に設定
  • Webhook URL を登録
  • 接続テスト成功

ステップ7: Stripe Dashboard 設定完了

  • Webhook エンドポイント設定完了
  • Webhook URL が正しく登録されている
  • イベント(payment_intent.succeeded)が有効
  • Webhook シークレットを Script Properties に設定

ステップ8: トリガー設定完了

  • sendDayBeforeReminders トリガー作成(毎日8:00)
  • checkForNoShows トリガー作成(9:00-18:00、30分間隔)
  • トリガーが有効化されているか確認

ステップ9: 動作確認テスト完了

  • doGet テスト成功(正常なJSON応答)
  • LINEボット接続確認
  • /reserve コマンド動作
  • Google Sheets 接続確認

ステップ10: 本番運用開始

  • 週次レポートが自動生成されるのを確認
  • 1日運用手順(15分以内)で開始
  • 正常に動作しているか監視

トラブルシューティング

各ステップで問題が発生した場合の解決策:

ステップ1-2: プロジェクト作成・インポート

問題: ファイルインポート時にエラーが発生 解決策:

  • 1つずつインポートする(一度に複数)
  • エラー箇所を確認し、修正する
  • スクリプトエディタのログ(実行ログタブ)を確認

ステップ3: Google Sheets 作成

問題: シートが自動作成されない 解決策:

  • スクリプトの SheetConfig.gs でシート名を確認
  • 手動でシートを作成(ヘッダー設定)
  • シート共有設定を確認

ステップ4: Script Properties 設定

問題: プロパティ保存時にエラー 解決策:

  • プロパティ名が正しいか確認(大文字小文字区別)
  • 値が空でないか確認
  • スクリプトエディタを再読み込み

ステップ5-7: デプロイ・外部連携

問題: デプロイ時、実行エラー 解決策:

  • スクリプトエディタの「実行ログ」を確認
  • 全てのプロパティが設定されているか確認
  • URL を再デプロイ

ステップ8: トリガー設定

問題: トリガーが作成されない 解決策:

  • ReminderService.gs 内の関数名を確認
  • スクリプトエディタを再読み込み
  • トリガーを削除して再作成

ステップ9: 動作確認テスト

問題: テスト失敗 解決策:

  • 各モジュールの初期化処理を確認
  • Script Properties の値を確認
  • Google Sheets の接続権限を確認

テストシナリオ

テスト1: 正常予約フロー

1. LINEで /reserve を送信
2. 氏名: 山田太郎 と入力
3. 電話番号: 09012345678 と入力
4. 日付: 来週月15日 と入力(または 2026-02-20)
5. 時間: 10:00 と入力
6. 施術: 初診(30分)と入力
7. Stripe Payment Link が送信される
8. テスト用カードで支払い完了
9. 予約確定メッセージが届く
10. reservations シートにデータが保存される

期待結果: 全ステップが正常に完了し、データが正しく保存される

テスト2: キャンセル・再販フロー

1. テスト予約を作成(上記フロー)
2. 当日キャンセルを実施(手動またはシステム経由)
3. waitlist に候補者を登録
4. キャンセル処理を実行
5. waitlist 通知が送信される
6. 再販処理が成功する

期待結果: キャンセル処理が正常に行われ、再販通知が送信される

テスト3: 24時間前リマインド

1. 翌日の予約を作成(日時設定)
2. リマインド送信トリガーを待つ(8:00)
3. リマインドメッセージが届く
4. reservations シートで reminder_sent が Y に更新される

期待結果: リマインドが正しいタイミングで送信される


成功基準

以下の全てが達成されたら、セットアップ完了とみなします:

  • ✅ Google Apps Script プロジェクト作成
  • ✅ 全17個のファイルインポート
  • ✅ Google Sheets(3シート)作成
  • ✅ Script Properties(11項目)設定
  • ✅ Web App デプロイ
  • ✅ LINE Developers Console 設定
  • ✅ Stripe Dashboard Webhook 設定
  • ✅ トリガー設定
  • ✅ 動作確認テスト成功

進捗状況

完了: 0/10 ステップ 進行中: なし 未着手: 10 ステップ


メモ

  • 各ステップ完了時、チェックリストにチェックを入れてください
  • 問題が発生した場合は「トラブルシューティング」を参照
  • Google Sheets シートID はデプロイ後の URL から抽出できます
  • デプロイ URL は変更される場合があるため、最新の URL を使用してください

This site uses Just the Docs, a documentation theme for Jekyll.