質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
LINE Messaging API

LINE Messaging APIは、メッセージの送信・返信ができるAPIです。Web APIを経由しアプリケーションサーバとLINEのAPIでやり取りが可能。複数のメッセージタイプや分かりやすいAPIリファレンスを持ち、グループチャットにも対応しています。

Google Apps Script

Google Apps ScriptはGoogleの製品と第三者のサービスでタスクを自動化するためのJavaScriptのクラウドのスクリプト言語です。

ループ

ループとは、プログラミングにおいて、条件に合致している間、複数回繰り返し実行される箇所や、その制御構造を指します

関数

関数(ファンクション・メソッド・サブルーチンとも呼ばれる)は、はプログラムのコードの一部であり、ある特定のタスクを処理するように設計されたものです。

Q&A

解決済

2回答

3724閲覧

LINE Bot、メッセージの連続送信

tnb0730_aiueo

総合スコア3

LINE Messaging API

LINE Messaging APIは、メッセージの送信・返信ができるAPIです。Web APIを経由しアプリケーションサーバとLINEのAPIでやり取りが可能。複数のメッセージタイプや分かりやすいAPIリファレンスを持ち、グループチャットにも対応しています。

Google Apps Script

Google Apps ScriptはGoogleの製品と第三者のサービスでタスクを自動化するためのJavaScriptのクラウドのスクリプト言語です。

ループ

ループとは、プログラミングにおいて、条件に合致している間、複数回繰り返し実行される箇所や、その制御構造を指します

関数

関数(ファンクション・メソッド・サブルーチンとも呼ばれる)は、はプログラムのコードの一部であり、ある特定のタスクを処理するように設計されたものです。

0グッド

1クリップ

投稿2020/06/15 07:21

前提・実現したいこと

ここに質問の内容を詳しく書いてください。
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

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

pushも1回しか呼び出せないのですか?

投稿2020/06/15 08:11

tnb0730_aiueo

総合スコア3

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ベストアンサー

replyは1回のみ呼び出しが有効なため
複数メッセージ送りたい場合はまとめて(最大5つまで)1回で送るか
pushを使用してください。

https://developers.line.biz/ja/reference/messaging-api/#send-push-message

投稿2020/06/15 07:32

shoya.shiraki

総合スコア430

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

tnb0730_aiueo

2020/06/15 08:11

pushも1回しか呼び出せないのですか?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問