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

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

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

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

Google Apps Script

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

Q&A

解決済

1回答

812閲覧

おうむ返しbotで返信がかえってきません

fujimonpg

総合スコア10

LINE Messaging API

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

Google Apps Script

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

0グッド

0クリップ

投稿2022/02/28 02:47

編集2022/02/28 05:16

前提・実現したいこと

LINE Messaging APIとGoogle Apps Scriptを使っておうむ返しbotを作ろうとしたのですが、こちらの入力に対して返信が返ってきませんでした。以下の手順で行ったのですが間違っている原因がわかるかたがおられましたら教えていただきたいです。

手順

  1. lineDevelopersでチャネルを作成

  2. チャネルアクセストークンを発行し、GoogleAppScriptでコードを書く。

  3. コードを公開し、発行されたweb app URLをlineDevelopersのwebhookのurlの箇所に挿入。

  4. botを友達登録し、文字を送信する。

該当のソースコード

var CHANNEL_ACCESS_TOKEN = 'アクセストークン'; function doPost(e) { var replytoken= JSON.parse(e.postData.contents).events[0].replyToken; if (typeof replytoken === 'undefined') { return; } var user_message = JSON.parse(e.postData.contents).events[0].message.text; var url = 'https://api.line.me/v2/bot/message/reply'; UrlFetchApp.fetch(url, { 'headers': { 'Content-Type': 'application/json; charset=UTF-8', 'Authorization': 'Bearer ' + CHANNEL_ACCESS_TOKEN, }, 'method': 'post', 'payload': JSON.stringify({ 'replyToken': replytoken, 'messages': [{ 'type': 'text', 'text': user_message, }], }), }); return ContentService.createTextOutput(JSON.stringify({'content': 'post ok'})).setMimeType(ContentService.MimeType.JSON); }

試したこと

・lineDevelopersで「webhookを使用する」の設定: オンにした
・プログラムのコードが間違っている: udemyの教材でコピペをするものなので間違っている可能性は低いと思われます。

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

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

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

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

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

YAmaGNZ

2022/02/28 04:01

どこでどういうエラーが出るのですか?
CHERRY

2022/02/28 04:12

記載されているソースコードで、インデント・書式が崩れていて見にくいので、質問するときのヒントの [表現するための言葉がわからない時は表現の仕方を工夫しましょう]( https://teratail.com/help/question-tips#questionTips33 ) や [ソースコードを書きましょう]( https://teratail.com/help/question-tips#questionTips35 )を参考に「<CODE>」ボタンを利用して、ソースコードの内容を見やすく記載していただけないでしょうか。
YAmaGNZ

2022/02/28 06:53 編集

Lineのほうで送信したときに既読はつきますか? 提示されたソースで動作確認したところ、トークンが間違っている場合に既読がつくがオウム返ししないという状況になりました。 また、正しいトークンの場合はオウム返ししました。
fujimonpg

2022/02/28 08:27

動作確認いただきありがとうございます。 再度botを作り直したところ、やはり既読はつきますがおうむ返ししないです。 ソースの'アクセストークン'の部分にはLINE DevelopersのChannel access token (long-lived)で発行されたものをペーストしております。 このような場合LINE Developersの設定などが原因で返信されないのでしょうか。 無知で申し訳ありません。 よろしくお願いいたします。
YAmaGNZ

2022/02/28 12:43

デフォルトから特に変更していないはずです。 試しに別のアカウントでbot作成してみましたがデフォルトから特に触らず、webhook設定とトークンの生成しかしませんでした。 自動応答がONでしたが、自動応答とオウム返し両方が出ました。
fujimonpg

2022/02/28 23:04

自動応答をONにしたことで返信が来ました。ただし昨日作ったものに追加で自動応答をONにしたところ返信は返ってこなかったため、このことが原因だったのかもしれないです。 今回はご丁寧にご回答いただきありがとうございました。
guest

回答1

0

自己解決

LINE Developersで、自分が作ったチャネルのMessaging APIで自動応答メッセージ(Auto-reply messages)をオン(Enable)にしたことで解決しました。また、チャネルを作った後に自動応答メッセージをオンにした場合は返信が返ってこなかったため、これから作られる方も複数通り試してみると良いかもしれません。

投稿2022/02/28 23:04

fujimonpg

総合スコア10

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.47%

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

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

質問する

関連した質問