前提・実現したいこと
ここに質問の内容を詳しく書いてください。
GASでLINEBotを作っています。複数回連続でメッセージを送信したいのですができません。
具体的にはreply(返信)の関数を作ってそれをfor文で複数回やろうとしているのですが一回目しか反映されません
GAS
1//************************************************************************ 2// 初期設定 3//************************************************************************ 4// LINE developersのメッセージ送受信設定に記載のアクセストークン 5var LINE_TOKEN = '自分のアクセストークン'; 6var LINE_URL = 'https://api.line.me/v2/bot/message/reply'; 7 8//************************************************************************ 9// 変数設定 10//************************************************************************ 11//postリクエストを受取ったときに発火する関数 12function doPost(e) { 13 14 // Jsonにパース 15 var json = JSON.parse(e.postData.contents); 16 // 応答用Tokenを取得 17 var replyToken = json.events[0].replyToken; 18 //ユーザーIDの取得 19 var user_id = json.events[0].source.userId; 20 // メッセージを取得 21 var userMessage = json.events[0].message.text; 22//返答用メッセージを作成 23 var reply = null; 24 25//************************************************************************ 26// メッセージに対する反応 27//************************************************************************ 28 //"あ"を受け取った時 29if(userMessage == "あ"){ 30 for(let l = 0 ; l<2 ; l++){ 31 if(l == 0){ 32 reply = "名前が登録されました"; 33 } 34 else if(l == 1){ 35 reply = "好きな食べ物を入力してください"; 36 } 37 replyMessage(reply,replyToken); 38 } 39 } 40} 41//************************************************************************ 42// 返信関数設定 43//************************************************************************ 44//replyメッセージの設定と返信 45function replyMessage(text,place) { 46 var headers = { 47 'Content-Type': 'application/json; charset=UTF-8' , 48 'Authorization': 'Bearer ' +LINE_TOKEN 49 }; 50 51 var payload = JSON.stringify({ 52 'replyToken': place , 53 'messages': [{ 54 'type': 'text' , 55 'text': text 56 }] 57 } ) 58 59 var options = { 60 'headers' : headers , 61 'method' : 'post' , 62 'payload' : payload }; 63 64 // メッセージを応答 65 UrlFetchApp.fetch(LINE_URL ,options) 66} 67
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。