第75話:「やっと出た!」エラーの嵐を乗り越え、ついに完成したAI経理ボット

0代後半の日本人男性(Yasu)が、パソコンの前で少し疲れながらも、満面の笑みでガッツポーズをしているベクターイラスト。彼の目の前のモニターには、image_9.pngの8行目のように綺麗に仕分けられたスプレッドシートデータ(日付、科目、取引手段、摘要、取引先、金額)が光り輝いて表示されている。モニターの背景には、image_2.pngやimage_6.pngに見られるような赤いエラーメッセージ("reading 'postData'", "UrlFetchApp.fetch")の嵐が去り、虹がかかっている。DifyのAIアイコンが笑顔でデータを整理している。ポップで希望に満ち AI活用

こんにちは!「中年からのAI再スタート」のYasuです。

前回、AI抜きの「1秒メモ帳」を作りました。今回はそこにAI(Dify)の脳みそを移植して、全自動経費ボットを完成させる……はずだったのですが。

結論から言います。めちゃくちゃエラーと格闘しました(笑)。

でも、その格闘のおかげで、初心者が100%ハマる「3つの壁」とその壊し方が分かりました。今日は、私の泥臭い成功体験をすべて公開します。これを読めば、あなたは最短距離でゴールできるはずです!


ステップ1:Difyで「経理の脳みそ」を作る

まずはDifyでワークフローを作成します。

  1. 開始ノード: 変数名を line_message に設定。
  2. LLMノード: 「届いたメッセージを『取引日、科目、取引手段、摘要、取引先、金額』のJSON形式で返して」と指示します。
  3. 終了ノード: 出力変数名を result に設定。ここが1文字でも違うと、GASがデータを受け取れずパニックになります。

ステップ2:直面した「3つの壁」と解決策

設定を終えてスマホから送信!……しかし、スプレッドシートには何も表示されません。ここからが格闘の始まりでした。

【壁1】GASの「実行」ボタンは押してはいけない!?

実行ログに TypeError: Cannot read properties of undefined (reading 'postData') というエラーが。

  • 原因: GAS画面の「実行」ボタンを手動で押したからでした。
  • 正解: このプログラムは「LINEからの手紙(postData)」を待つ専用。テストは必ずスマホのLINEから送るのがルールです!
Google Apps Script(GAS)からDify APIを呼び出す高度な連携コード例。AIからの回答データ(JSON)を自動で解析・整形し、不要な記号を除去してからスプレッドシートへ保存する「AI連携オートメーション」の実装手順を解説しています。

【壁2】Googleの「見えない壁(権限)」

次に UrlFetchApp.fetch を呼び出す権限がありません というエラーが発生。

  • 原因: GASが外部(Dify)に通信するパスポートを持っていなかったから。
  • 解決策: 許可を出すためだけのダミー関数 testAuth を作成。関数を選択して実行し、あの「詳細 > 移動 > 許可」という少し怖い画面を突破することで、無事にパスポートが発行されました!
Google Apps Script(GAS)の実行履歴とデバッグの様子。postData の読み取りエラーなど、開発過程で発生する「失敗しました」というエラーログと、それを乗り越えて「完了」に至るまでの試行錯誤のプロセスを解説しています。

【壁3】AIが「余計な挨拶」をしてくる

最後に reading 'replace' というエラー。

  • 原因: AIが気を利かせて「はい、仕分けました!」と挨拶を付けてきたせいで、データが壊れていました。
  • 解決策: GAS側に「余計な記号を消すコード」を追加し、AIを黙らせることで解決しました。

ステップ3:ついに「その瞬間」がやってきた

すべての壁を壊し、スマホから祈るように送信しました。 「昨日、コーナンで洗剤を個人のクレカで1500円買ったよ」

数秒後、スプレッドシートに目をやると…… 2026/03/03 | 消耗品費 | クレジットカード | 洗剤 | コーナン | 1500

「やった!やっと出た!!」 パソコンの前で、思わず声が出てしまいました。


LINEとDify、GASを連携させた経費自動入力システムの動作画面。開発中のエラーログ(権限エラーや定義エラー)を乗り越え、最終的に洗剤の購入記録(1,500円)がスプレッドシートの各項目へ正確に自動保存された成功事例を解説しています。

まとめ:エラーの数だけ、相棒が可愛くなる

今回、何度もエラーに跳ね返されました。でも、そのたびに「なぜ?」と考え、一つずつ設定を直していました。何度もジェミニにエラーコードを張り付けて

失敗しては張り付けての繰り返しでしたが、何とかクリアしました!

ただコピペして動いたものより、格闘して動かしたツールは、もう自分の「分身」のような愛着が湧きますね。

これで、私の現場での経費入力は**「LINEでつぶやくだけ」**になりました。確定申告の恐怖からも卒業できるといいな、今年はこれが使えると助かります。

実際に使ってみないと分からないですが。

皆さんも、もしエラーが出ても「失敗」だと思わないでください。それは「ゴールに近づいているサイン」です。次回は完成したアプリの作り方の実践編として

スクショで作成までの道のりを書きます。是非、お楽しみに!

コメント

タイトルとURLをコピーしました