「まただ。なぜメールが飛ばないんだ…」深夜2時、薄暗い部屋で私はPC画面を睨みつけていました。Google Apps Script(GAS)を使ってスプレッドシートの日報自動化に挑戦し始めて3週間。onEditトリガーで、担当者がセルを編集したら自動でメールが飛ぶはずだったのです。完璧なロジックを組んだはずなのに、何度試してもメールだけが沈黙を守る。エラーメッセージすら出ない。まるで、私の努力を嘲笑うかのように。
「GASって簡単なんでしょ?って同僚に言われたばかりなのに…」心の奥底で焦燥感が募ります。簡単なはずの自動化が、なぜこんなにも壁となって立ちはだかるのか。家族が寝静まったリビングで、孤独にキーボードを叩く。このままでは、ただ時間を無駄にするだけだ。いや、もう既に何日も無駄にしてしまっている。無力感と後悔が波のように押し寄せ、「こんなはずじゃなかった…」と心の中でつぶやきました。
あの頃の私は、onEditシンプルトリガーの「見えない制限」を知らなかったのです。スプレッドシートを編集するだけでスクリプトが動く手軽さに惹かれ、まるで魔法の杖を手に入れた気分でした。しかし、その魔法は特定の呪文(メール送信)には効かなかった。公式ドキュメントを読み漁り、海外のフォーラムをさまよっても、明確な答えは見つからない。諦めかけたその時、ふとGASに詳しい同僚との雑談でこの話題が出ました。
「ああ、それ、シンプルトリガーの落とし穴だよ。メール送信とか、外部サービスにアクセスするような操作は、ユーザーの明示的な許可がないと動かないんだ」
まるで雷に打たれたような衝撃でした。彼は続けます。「例えるなら、誰でも入れる自動ドアでは、銀行の金庫は開かないのと同じ。メール送信は、鍵付きの金庫を開けるようなもんだから、ちゃんと鍵(権限)を渡さないとね」。その一言で、私の脳内の霧が晴れたのです。私が試みていたのは、鍵なしで金庫を開けようとする無謀な行為だったのだと。
解決策は、「インストール可能なトリガー」への切り替えでした。スクリプトエディタの「トリガー」メニューから、手動でonEdit(e)関数をトリガーとして設定し、実行に必要な権限を承認する。この一手間が、見えない壁を打ち破る鍵だったのです。
設定を終え、恐る恐るスプレッドシートのセルを編集しました。すると…「ピロン!」という軽快な通知音とともに、私のスマホにメールが届いた!その瞬間、全身を駆け巡ったのは、達成感と安堵感でした。「やった…!ついにやったんだ…!」まるで呪縛から解放されたような感覚だったのです。あの数週間の苦悩が、一瞬で報われた気がしました。
この経験を通じて、私はGASの奥深さと、目に見えない「制限」の重要性を痛感しました。onEditでメールが飛ばない問題は、単なるバグではなく、Googleがユーザーのセキュリティを守るための賢明な仕組みだったのです。
もしあなたが今、私と同じようにonEditシンプルトリガーで自動メール送信がうまくいかず、途方に暮れているなら、どうか安心してほしい。それはあなたのコーディングミスではないかもしれない。必要なのは、シンプルトリガーの制限を正しく理解し、適切な回避策を実行するだけだ。インストール可能なトリガーへの切り替えは、あなたの業務を劇的に効率化し、GAS活用の幅を大きく広げる、まさに「覚醒」への一歩となるだろう。もう二度と、あなたの貴重な時間を無駄にさせない。この知識が、あなたのGASライフに新たな希望をもたらすことを心から願っている。
