###はじめに
プログラミング勉強中の初心者です。
よろしくお願いします。
下記のソースコードはWebでお借りしたものを
少し手を加えさせて頂いたものです。
前提・実現したいこと
GASでLINEBOTを作りたいです。
BOTの機能として
LINEから特定のメッセージを送信されたら
スプレッドシート内の文字を取得し返信する。
発生している問題
ソースコードのif文内にあるreply = value
このvalueを実行してもらえない。
該当のソースコード
GAS
1var ACCESS_TOKEN = アクセストークン 2// メッセージが送付された際に、実行される関数 3function doPost(e){ 4 var replyToken = JSON.parse(e.postData.contents).events[0].replyToken; 5 var userMessage = JSON.parse(e.postData.contents).events[0].message.text; 6 var url = 'https://api.line.me/v2/bot/message/reply'; 7 var headers = { 8 'Content-Type': 'application/json; charset=UTF-8' , 9 'Authorization': 'Bearer ' +ACCESS_TOKEN 10 }; 11 var value = SpreadsheetApp.getActiveSheet().getRange(A2).getValue(); 12 var reply = null; 13 if(userMessage === 'スケジュール'){ 14 reply = value; 15 }else{ 16 reply ='返信できません'; 17 } 18 19 20 var payload = JSON.stringify({ //メッセージ送信内容 21 'replyToken': replyToken , 22 'messages': [{ 23 'type': 'text' , 24 'text': reply 25 }] 26 } ) 27 28 var options = { 29 'headers' : headers , 30 'method' : 'post' , 31 'payload' : payload }; 32 33 34 // メッセージを応答 35 UrlFetchApp.fetch(url ,options) 36}
試したこと
reply = 'メッセージ'だと'メッセージ'を返信してくれることは確認済
補足情報(FW/ツールのバージョンなど)
スプレッドシート経由でGASを利用
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/04/24 15:50