Q&A

Liff.sendmessagesで「Failed to send message TypeError:キャンセルしました」発生

前提・実現したいこと

Liffアプリ(Webアプリ)からトーク画面にメッセージ送信したいのですが 必ずエラーになります。ご助言あればよろしくお願いします。

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

「Failed to send message TypeError:キャンセルしました」

該当のソースコード

function sendMessages(text) { liff.sendMessages([{ 'type': "text", 'text': "Hello, World!" }]).then(function() { window.alert('Message sent'); liff.closeWindow(); }).catch(function(error) { window.alert('Error sending message: ' + error); liff.closeWindow(); }); }

試したこと

・liff.initは成功している ・ liff.closeWindow();でWebアプリを閉じることができている。  (liffは機能しているようだ) ・CHAT_MESSAGEをチェックしている ・修正毎にLINEアプリのキャッシュを削除 ・Jsonパラメータをいじってみた。  { 'type': "text", 'text': "Hello, World!" } を { '': "text", 'text': "Hello, World!" } として故意に'type'を削除してやると、つぎのエラーメッセージになる。 Jsonを解析してるように見える。 Failed to send message Error: Parameter 'messages' must be an array of {type,...}

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

<script charset="utf-8" src="https://static.line-scdn.net/liff/edge/2/sdk.js"></script>

  • 0
  • 1
  • 3131
  • twitter facebook

自己解決です。 liff.sendMessages()は、jQueryのsubmitイベントの中で実行。 しかし、liff.sendMessages()の後に jQueryのreturn false; を記述していないため、 実行中のliff.sendMessages()を自分でキャンセルしたことになったようです。

  • 0

Similar posts

    No similar posts

Are you sure? question.vm