LINE Messaging APIとGoocleスプレッドシートを使用して数字を記録するLINEbotを作っています。
メッセージを送信した際にスプレッドシートの"A1, B1, C1"の各セルに"送信された数値, A1+今までの数値の合計, 更新日時"が記録される想定ですが、B1のセルに毎回"数値"ではなく、"total"と入力されてしまいます。
何度もコードを確認しているのですが、どこが原因で発生している動作なのかわかりません。
setData関数の記述方法を色々試したり確認しましたが、解決には至りませんでした。
コードに不備がありましたら、教示いただけますと幸いです。
質問が不慣れなため、情報が不足しておりましたら申し訳ありません。
補足にて追加いたしますので、不足している情報がありましたらコメントにてお願いいたします。
以下実装コードです
JavaScript
1<一部省略> 2 3// スプレッドシートに情報を登録 4function setData(userMessage, total, updateDate){ 5 // sheet.getRange(1, 1, 1, 3).setValues(values); 6 sheet.getRange("A1").setValue(userMessage); 7 sheet.getRange("B1").setValue(total); 8 sheet.getRange("C1").setValue(updateDate); 9 10} 11 12function doPost(e) { 13 // WebHookで受信した応答用Token 14 var replyToken = JSON.parse(e.postData.contents).events[0].replyToken; 15 // 応答メッセージ用のAPI URL 16 var url = 'https://api.line.me/v2/bot/message/reply'; 17 18 var template_start = '文字数貯金です。 \n'; 19 var template_finish = 'またのご利用をお待ちしております。'; 20 // 更新日時 21 var updateDate = getNowYMD(); 22 // ユーザーのメッセージを取得 23 var userMessageJson = JSON.parse(e.postData.contents).events[0].message.text; 24 var userMessage = Number(userMessageJson); 25 26 // totalを取得 27 var totalRange = sheet.getRange("B1"); 28 var total = Number(totalRange.getValue()); 29 30 total += userMessage; 31 32 // 返信内容 33 var botMessage = updateDate + " 現在、 \n 【" + userMessage + "】文字の入金を確認しました。 \n" + "現在の貯金額は " + total + " 円です。 \n"; 34 35 // データ登録 36 // var values = [[userMessage, total, updateDate]]; 37 setData(userMessage, total, updateDate); 38 var replyMessage = template_start + botMessage + template_finish; 39 40 // 返信メッセージ送信 41 <省略> 42 43