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

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

新規登録して質問してみよう
ただいま回答率
85.32%
Google Apps Script

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

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

解決済

1回答

110閲覧

Line Messaging APIでメッセージを複数送りたい。

taryo5678

総合スコア2

Google Apps Script

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

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

0クリップ

投稿2025/03/29 12:33

実現したいこと

Line Messaging APIでメッセージを送る際に単独で送りたいときは単独で、
複数送りたい時には複数送りたいと考えています。

発生している問題・分からないこと

text2に何も入れていないときにはtext1のみ送信して欲しいのですが
sendLineMessageFromUserId(userId, text1, text2)を他の関数で実行した際

Exception: Request failed for https://api.line.me returned code 400. Truncated server response: {"message":"The request body has 1 error(s)","details":[{"message":"May not be empty","property":"messages[1].text"}]} (use muteHttpExceptions option to examine full response)
となってしまいます。
ソースコードのreturn send~の部分は他の関数内の部分です。

該当のソースコード

function sendLineMessageFromUserId(userId, text1, text2) { var url = "https://api.line.me/v2/bot/message/push"; const payload = { "to": userId, "messages": [ { "type": "text", "text": text1 }, { "type": "text", "text": text2 } ] }; const params = { "method": "post", "contentType": "application/json", "headers": headers, "payload": JSON.stringify(payload) }; return UrlFetchApp.fetch(url, params); } return sendLineMessageFromUserId(userId, remindText,);

試したこと・調べたこと

  • teratailやGoogle等で検索した
  • ソースコードを自分なりに変更した
  • 知人に聞いた
  • その他
上記の詳細・結果

return sendLineMessageFromUserId(userId, remindText,);

return sendLineMessageFromUserId(userId, remindText,"あ");
にしたところ
remindTextの内容と「あ」が送信されてきました。
sendLineMessageFromUserId(userId, text1, text2 = "い")で
return sendLineMessageFromUserId(userId, remindText);
にしたところ
remindTextの内容と「い」が送信されてきました。

補足

特になし

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

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

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

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

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

guest

回答1

0

自己解決

単独で送りたいときと複数送りたいときで別の関数を作りif文で分けて解決しました。

投稿2025/03/29 14:05

taryo5678

総合スコア2

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.32%

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

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

質問する

関連した質問