Q&A

liffアプリからメッセージが送信されるようにしたい

前提・実現したいこと

liffアプリからメッセージが送信されるようにしたい

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

liffのAPIである「liff.sendMessages()」を使って、liffアプリ内からメッセージが送信されるようにしたいです。 chat_messageのスコープも設定し、liff.init()も行った上で試してみたのですが、メッセージは送信されずという状況です。 コンソールで見たところ、「メッセージ送信」の文言は出力されていたので、liff.sendMessageの処理で引っかかってしまっているのかなと推測しています。

以下エラーメッセージ

メッセージ送信 ←console.logの文言
sdk.js:1 Uncaught (in promise) Error: LiffId is not found.
    at new t (sdk.js:1:21797)
    at Ae (sdk.js:1:22124)
    at sdk.js:1:86391
    at sdk.js:1:17018
    at Object.next (sdk.js:1:17123)
    at sdk.js:1:16060
    at new Promise (<anonymous>)
    at H (sdk.js:1:15805)
    at Yr (sdk.js:1:85815)
    at sdk.js:1:89034
t @ sdk.js:1
Ae @ sdk.js:1
(anonymous) @ sdk.js:1
(anonymous) @ sdk.js:1
(anonymous) @ sdk.js:1
(anonymous) @ sdk.js:1
H @ sdk.js:1
Yr @ sdk.js:1
(anonymous) @ sdk.js:1
(anonymous) @ sdk.js:1
(anonymous) @ sdk.js:1
(anonymous) @ sdk.js:1
H @ sdk.js:1
(anonymous) @ sdk.js:1
(anonymous) @ line:110
Promise.then (async)
c @ sdk.js:1
(anonymous) @ sdk.js:1
H @ sdk.js:1
(anonymous) @ sdk.js:1
(anonymous) @ line:110
Promise.then (async)
(anonymous) @ line:108

該当のソースコード

<script src="https://static.line-scdn.net/liff/edge/2.1/sdk.js"></script>

<script>
    liff.init({
            liffId: '16~から始まるLIFF ID'
        })
        .then(() => {
            console.log('メッセージ送信');
            liff.sendMessages([{
                type: "text",
                text: "Hello, World!",
            }, ]);
        })
        .catch((err) => {
            console.log(err);
        })
</script>

試したこと

・LINE DevelopersでLIFFは設定済み、スコープはchat_message.write, openid, profileを設定 ・公式アカウント(未承認)を作成し、公式アカウント&自分のアカウントのトークルーム内でliffアプリを開いて動作確認 ・liffアプリはデプロイ済み

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

  • 0
  • 1
  • 404
  • twitter facebook

liffIdはあってますか? 今一度確認してみてください。

  • 1
Are you sure? question.vm