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

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

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

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

Google スプレッドシート

Google スプレッドシートは、フリーで利用できる表計算ソフト。Webアプリのためインターネットに接続することで利用できます。チャートやグラフの作成のほか、シートを他のユーザーと共有したり、同時に作業を進めることも可能です。

Google Apps Script

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

解決済

LINEbotから唐突に返信が来なくなる botを新しく作成すると改善する?

AGLAAGLA
AGLAAGLA

総合スコア48

LINE Messaging API

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

Google スプレッドシート

Google スプレッドシートは、フリーで利用できる表計算ソフト。Webアプリのためインターネットに接続することで利用できます。チャートやグラフの作成のほか、シートを他のユーザーと共有したり、同時に作業を進めることも可能です。

Google Apps Script

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

2回答

0リアクション

0クリップ

338閲覧

投稿2022/08/08 16:39

現在、あるゲームの進行役として、google app scriptを使用しLINEbotを作成しています。
ゲームの特徴として、ゲームを開始すると、gasが動き、新しいスプレットシートが作成され、スコアが刻まれます。

そこでそのbotを使用してゲームをしているといきなり返信が無くなりました。

以前にも全く返信がなくなったことがあり、コードが問題かと思って見直しましたが、問題なく、新しくbotを作り直してコードを動かすと正常に動きました。通常は既読は絶対つくのですが、その際は既読すらつかなくなっていました。

今回の2回目は既読がつきますが、返信がない状態です。

自分が考える問題点?
・メッセージの送りすぎ?→200~300ほどしか送信していない
・コードが問題?→コードを全く一緒で、botを作り直したら動作したためコードは問題ない
・webhookは正しく通っている?→成功メッセージが通っている。

このような状態で、全く原因がわからない状態です。
本日、夕方ごろに使用しており、いきなり返信が無くなりました。

その夜に、グループIDを変え、もう一度試してみると、メッセージが一通だけきました。
しかし、メッセージが二通連続でくるはずが、一通のみ送信され、二通目は全く来ず、その後、全く返信が無くなるようになりました。ちなみに、夕方使用していた場所とは違うメッセージで返信が来なくなりました。

しかし、スプレッドシートの処理は正しく動いていたことから、原因はLINEであることが推測されます。

何度も何度も、同じプログラムで動作してゲームを進行させており、いきなり途中で返信が無くなるということが理解できず、困っています。まだ、一度の返信が無くなるだけならいいのですが、その後、一回も返信することがなくなる現象も意味が理解できませんし、時間を空けると一通だけ返信が来るのも理解できません。

一応、送信部分のソースコードだけ載せておきます。

javascript

//LINE Developersで取得したアクセストークンを入れる var CHANNEL_ACCESS_TOKEN = ''; var url = 'https://api.line.me/v2/bot/message/push'; var groupID = ''; const OutputFolder = DriveApp.getFolderById(''); //保存するフォルダ指定 //ポストで送られてくるので、送られてきたJSONをパース function doPost(e) { var json = JSON.parse(e.postData.contents); //返信するためのトークン取得 var reply_token= json.events[0].replyToken; if (typeof reply_token === 'undefined') { return; } let message=json.events[0].message.text; //送られたメッセージ内容を取得 if (message=='ゲーム開始'){ var date = new Date();//現在時刻取得 date = Utilities.formatDate(date, "Asia/Tokyo", "ゲームを開始しました yyyy/MM/dd hh時mm分"); send_message(date)//ゲームを開始した旨を送信 create_spreadsheet()//新しくスプレッドシートを作成 send_message('1チーム目の名前を入力してください。') } function send_message(message){ UrlFetchApp.fetch(url, { 'headers': { 'Content-Type': 'application/json; charset=UTF-8', 'Authorization': 'Bearer ' + CHANNEL_ACCESS_TOKEN, }, 'method': 'POST', 'payload': JSON.stringify({ 'to': groupID, 'messages':[{ 'type': 'text', "text" : message, }] }) }) }

その夜に返信が一通だけ返ってきました、と言っていたのは、

send_message(date)//ゲームを開始した旨を送信

のことです。
しかし、その下の

create_spreadsheet()//新しくスプレッドシートを作成

は完全に作成されており、

send_message('1チーム目の名前を入力してください。')

が送信されませんでした。

ちなみに普段は当たり前のように送信されており、この後、一切のメッセージが送信されなくなっています。

返信に制限があると考えるのが一番筋が通っていそうなのですが、どなたか解消方法ご存知の方いらっしゃいませんか?

以上、よろしくお願いいたします。

以下のような質問にはリアクションをつけましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

リアクションが多い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

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

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

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

下記のような質問は推奨されていません。

  • 間違っている
  • 質問になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

適切な質問に修正を依頼しましょう。

AGLAAGLA

2022/08/09 06:04

早々にありがとうございます。 HTTPレスポンスはどこに表示されるのでしょうか? 一通りの動作をして、レスポンスコードが見当たらなかったのですが、、
AGLAAGLA

2022/08/09 16:10

https://ryjkmr.com/google-apps-script-console-log/ こちらのサイトを参考にして、エラーの内容を見ることができました。 ちなみに、CHERRYさんのおっしゃる通り、 ``` function send_message(message){ var response = UrlFetchApp.fetch(url, { 'headers': { 'Content-Type': 'application/json; charset=UTF-8', 'Authorization': 'Bearer ' + CHANNEL_ACCESS_TOKEN, }, 'method': 'POST', 'payload': JSON.stringify({ 'to': groupID, 'messages':[{ 'type': 'text', "text" : message, }] }) }) Logger.log(response.getResponseCode()); } ``` というふうにして、gcp上でログが見れるかと思いきや表示できませんでした。 それとは別にLINEをbotに送信し、ログを見てみると、二種類のクエリ結果が得られました。 1つ目 ``` IAM serviceusage.googleapis.com …v1.ServiceUsage.BatchEnableServices projects/1082135446155/services apps-macros@system.gservi… Permission denied to enable service [drive] Help Token: AfeSHlLbt... ``` 2つ目 ``` Exception: サーバー エラーが発生しました。しばらくしてからもう一度試してください。 at [unknown function](コード:6:31) ``` 二つとも同時刻ですので、返事が返ってこないエラーの原因だと思います。
AGLAAGLA

2022/08/09 16:23

上記エラーを調べてみると、google drive apiの有効が効果的らしくしてみると、エラー内容が変わりました。 ``` {"message":"You have reached your monthly limit."} ``` となりました。 やはり、送信できる回数に上限が来たようですね、、

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

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

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

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

ただいまの回答率
86.12%

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

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

質問する

関連した質問

同じタグがついた質問を見る

LINE Messaging API

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

Google スプレッドシート

Google スプレッドシートは、フリーで利用できる表計算ソフト。Webアプリのためインターネットに接続することで利用できます。チャートやグラフの作成のほか、シートを他のユーザーと共有したり、同時に作業を進めることも可能です。

Google Apps Script

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