🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
LINE Messaging API

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

Google Apps Script

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

if

if文とは様々なプログラミング言語で使用される制御構文の一種であり、条件によって処理の流れを制御します。

JavaScript

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

Q&A

解決済

1回答

929閲覧

Google Apps Scriptでif文ができない

Kuro515

総合スコア25

LINE Messaging API

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

Google Apps Script

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

if

if文とは様々なプログラミング言語で使用される制御構文の一種であり、条件によって処理の流れを制御します。

JavaScript

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

0グッド

0クリップ

投稿2021/01/09 05:31

GASでLINEBOTを作成しています。
以下のコードで1~4までの乱数を生成しif文で制御する処理を書きたいのですが、mainを実行しても「〇が返されたよ」と返信されません。

javascript

1var b; 2 3function main(){ 4 Question(); 5 if(b==1||b==2||b==3||b==4){ 6 var postData = { 7 "replyToken": e.replyToken, 8 "messages": [{ 9 "type": "text", 10 "text": b + "が返されたよ!" 11 }] 12 }; 13 } 14} 15function Question() { 16 var spreadsheet = SpreadsheetApp.openById('スプレッドシートのID'); 17 var sheet = spreadsheet.getSheetByName('シート1'); 18 var lastRow = 100; 19 //2行目~最終行の間で、ランダムな行番号を算出する 20 var row = Math.ceil(Math.random() * (lastRow - 1)) + 1; 21 var range = sheet.getRange(row, 2); 22 //4. 値を取得する 23 value = range.getValue(); 24 console.log(value); 25 answer = sheet.getRange(row, 3); 26 b = Math.floor(Math.random() * (5 - 1) + 1); 27 console.log(b); 28}

if文の基礎を調べたのですがなかなか成功しません。

下のようにif文を使わずに直接やると成功します。

javascript

1var postData = { 2 "replyToken": e.replyToken, 3 "messages": [{ 4 "type": "text", 5 "text": b + "が返されたよ!" 6 }] 7 };

どういうことなのでしょうか?ご教授願います。

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

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

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

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

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

m.ts10806

2021/01/09 05:36

console.log(b); で何が出力されるのでしょう。 あと当該ifの直前でconsole.log(b);は何が出力されるのでしょう。
Kuro515

2021/01/09 05:37

console.log(b)では1~4までの乱数が出力されました。
m.ts10806

2021/01/09 05:46

当該ifの直前でconsole.log(b);は何が出力されるのでしょう。 やりたいことをやる前に、デバッグをきちんとしたほうがいいかなと。 console.log(b+":if前"); if(b==1||b==2||b==3||b==4){ console.log(b+":if後"); }
Kuro515

2021/01/09 05:50

[21-01-09 14:49:46:493 JST] 3:if前 [21-01-09 14:49:46:494 JST] 3:if後 上のようにログが出力されました。
m.ts10806

2021/01/09 05:58

じゃ、通ってますね。 postData の定義の場所とかが問題なのでは? GASの仕様は知らないので、そのあたり探ってみてください。
guest

回答1

0

自己解決

ifの下の処理が間違っていたため、実行されませんでした。

投稿2021/01/09 06:32

Kuro515

総合スコア25

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問