Q&A

デフォルトのリッチメニューを設定でBad Requestが返ってくる

何回か新規に作成してみたのですが、どれもデフォルト設定がうまく行きません。 よろしくお願いします。

前提・実現したいこと

コンソールからリッチメニューの作成をしてメニューIDは取得できています。 画像のアップロードも完了しているはず(エラーは出ていませんでした)

上記の設定がすでに終わっているリッチメニューをデフォルトのリッチメニューに設定したいです。

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

* Connection state changed (MAX_CONCURRENT_STREAMS == 100)!
< HTTP/2 411 
< server: AkamaiGHost
< mime-version: 1.0
< content-type: text/html
< content-length: 222
< expires: Sun, 14 Mar 2021 15:52:57 GMT
< cache-control: max-age=0, no-cache, no-store
< pragma: no-cache
< date: Sun, 14 Mar 2021 15:52:57 GMT
< 
<HTML><HEAD>
<TITLE>Bad Request</TITLE>
</HEAD><BODY>
<H1>Bad Request</H1>
Your browser sent a request that this server could not understand.<P>
Reference&#32;&#35;7&#46;871d2017&#46;1615737177&#46;2e9ca89
</BODY>
</HTML>
* Connection #0 to host api.line.me left intact
* Closing connection 0

該当のソースコード

公式ドキュメントの通り、コンソールから以下のコマンドを実行しました。

curl -v -X POST https://api.line.me/v2/bot/user/all/richmenu/<作成したrichmenu-id> \
-H "Authorization: Bearer {<自分のbotのchannel access token>}"
  • 0
  • 4
  • 3718
  • X(旧Twitter) facebook

解決しました!

-H 'Content-Length: 0'

上記のコマンドでContent-Lengthを指定すると成功し、リッチメニューが更新されます。

英語版のコミュニティーに解決方法が書かれていました。 https://www.line-community.me/en/question/5e9d35ef851f7402cd96b93a/set-the-default-rich-menu

  • 0

全く同じ現象が起きています。 同じように画像のアップロード・ダウンロードも試しましたが問題なく完了しています。 なお、レスポンスはすぐに返って来ています。

時間を置いてから試したらうまく行ったとのことなので時間を置いて再度試してみます。

  • 0

結果を追記します。

メニューIDは返ってきていたので、問題なかったです。 画像のアップロードを再度試したところ、An image has already been uploaded to the richmenuと返ってきましたので、アップロードもできていたようです。 問題のデフォルト設定ですが、すんなり上手くいきました。 昨晩はレスポンスが返ってくるのがとても遅かったのですが、再チャレンジではすぐにレスポンスがありました。このことから、回線の不調なのではないかと思っています。

いくつかの確認手段を教えてくださり、ありがとうございました。 とても勉強になりました。

  • 1

その他のリッチメニュー関連APIの挙動はどうでしょうか? リッチメニューとユーザーをリンクするなど試してみて 同様のエラーなる場合は画像がアップロードされてない可能性があるので 画像ダウンロードAPIで確認して再度アップロードを試してみてください。

https://developers.line.biz/ja/reference/messaging-api/#link-rich-menu-to-user

https://developers.line.biz/ja/reference/messaging-api/#download-rich-menu-image

  • 1
Are you sure? question.vm