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

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

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

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

Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

JavaScript

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

Q&A

0回答

2098閲覧

Line-botの開発でMessaging API「Webhook URL」の接続確認ができます。

退会済みユーザー

退会済みユーザー

総合スコア0

LINE Messaging API

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

Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

JavaScript

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

0グッド

1クリップ

投稿2018/12/09 04:27

前提・実現したいこと

Line-botの開発でMessaging API「Webhook URL」の接続確認をしたいです。

発生している問題・エラーメッセージ

プログラミング初心者で、以下の記事を参考に、LINE-bot開発をしています。
https://qiita.com/nkjm/items/38808bbc97d6927837cd
記事に沿って、LINEbotを動かすことができましたが、.jsファイルを修正し再度「./deploy.sh」でherokuデプロイをしましたが、LINE-botが動きませんでした。確認したところ、LINE Messaging APIの「Webhook URL」で下記エラーが表示されて、接続確認ができなくなっていました。

Webhookが無効なHTTPステータスコードを返しました(期待されるステータスコードは200です)

これをどう解決すれば良いでしょうか?

エラーメッセージ

該当のソースコード

Javascript

1//省略 2 3// APIコールのためのクライアントインスタンスを作成 4const bot = new line.Client(line_config); 5 6// ----------------------------------------------------------------------------- 7// ルーター設定 8server.post('/webhook', line.middleware(line_config), (req, res, next) => { 9 res.sendStatus(200); 10 console.log(req.body); 11}); 12 13 // すべてのイベント処理のプロミスを格納する配列。 14 let events_processed = []; 15 const texts = ['あ', 'い', 'う', 'え', 'お']; 16 17 // イベントオブジェクトを順次処理。 18 req.body.events.forEach((event) => { 19 // この処理の対象をイベントタイプがメッセージで、かつ、テキストタイプだった場合に限定。 20 if (event.type == "message" && event.message.type == "text"){ 21 // ユーザーからのテキストメッセージが「こんにちは」だった場合のみ反応。 22 // replyMessage()で返信し、そのプロミスをevents_processedに追加。 23 const randomIndex = Math.floor( Math.random() * texts.length); 24        events_processed.push(bot.replyMessage(event.replyToken, { 25         type: "text", 26         text: texts[randomIndex]; 27         })); 28 } 29 } 30 }); 31 32 // すべてのイベント処理が終了したら何個のイベントが処理されたか出力。 33 Promise.all(events_processed).then( 34 (response) => { 35 console.log(`${response.length} event(s) processed.`); 36 } 37 ); 38});

試したこと

エラー発生後、再度、ターミナルで下記コマンドを入力しました。
$ heroku config:set LINE_CHANNEL_ID=あなたのChannel ID
$ heroku config:set LINE_CHANNEL_SECRET=あなたのChannel Secret
$ heroku config:set LINE_ACCESS_TOKEN=あなたのアクセストークン
$ git add .
$ git commit -m "First commit"
$ git push -u heroku master
$ chmod +x deploy.sh
./deploy.sh

補足情報(FW/ツールのバージョンなど)

ここにより詳細な情報を記載してください。

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

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

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

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

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

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問