コミュニティ

LINE WORKSのテクニカルエキスパート及び開発者と
コードのサンプル、リソース、Tip等を共有し問題解決への相談が可能です。

??dev_메인_타이틀_모바일_ja_JP??

トークBot

リッチメニュー画像設定

orita

2020.06.12既読 896

コンテンツアップロードで画像をアップ後、

リッチメニュー登録でリッチメニューを登録しました。

リッチメニュー画像設定で画像を設定しようと思ったのですが以下が発生してしまいます。

500INTERNAL_SERVER_ERROR内部エラー

その状態でリッチメニューの画像照会を行ってみたところ、

エラーになると思ったのですが、正常終了しました。

しかし、「resourceId」で返ってきた値がリッチメニュー画像設定で設定した「resourceId」と異なっていました。

別の画像を設定したわけでもなく、なぜこのようなことが起きるのか不思議です。

一応、リッチメニュー画像の照会で取得した「resourceId」を使用して、コンテンツダウンロードを実行してみましたが、

「Not Found」

だったので、やはり画像の設定はできていないのだと思います。

リッチメニューの画像設定で

・内部エラーになる原因

・リッチメニューの画像照会で、設定したresourceId」と異なるresourceId」が取得できた理由

以上、2点について知りたいです。

お分かりの方が、いらっしゃいましたらご教授お願い致します。

コメント11

  • LINE WORKS 公式アカウント

    「500 INTERNAL_SERVER_ERROR 内部エラー」は、現在も発生しておりますでしょうか?
    こちらでも動作を確認いたしましたが、正常にリッチメニュー画像登録が行えました。
    一時的なエラーかもしれませんので、再度動作をお確かめください。

    なお、コンテンツアップロード API で取得する resourceId と、リッチメニュー画像の紹介 API で取得する resourceId は Id が異なります。
    これは、アップロードした画像とリッチメニューに設定した画像は保管場所が異なるためです。

    2020.06.16

    0
  • max

    自分も同様の状況でコメントを見て先ほども試してみましたがServer Internal Errorが返ってきます。その状態でリッチメニュー画像の照会をすると「resourceId」は取得できますが、基本リッチメニュー設定をしようとすると「RichMenu image of the bot does not exist」となり設定はできない状態です。

    2020.06.17

    0
  • orita 投稿者

    ご回答ありがとうございます。

    再度実行してみましたが、
    「500 INTERNAL_SERVER_ERROR 内部エラー」が現在も発生している状態です。

    resourceId につきましては、異なっていても問題ないとのことで承知致しました!

    2020.06.17

    0
  • LINE WORKS 公式アカウント

    こちらでも再度確認いたしましたが、正常に登録が行えました。

    今一度ご確認いただきたいのですが、アップロードした画像は以下の基準をクリアしておりますでしょうか?
    ・画像形式は JPEG および PNG 形式
    ・画像サイズは 2500×1686 または 2500×843 ピクセル
    ・最大ファイルサイズは 1MB以内
    https://developers.worksmobile.com/jp/document/100504002?lang=ja

    また、アップロードした画像の有効期限は 24時間となっておりますので、有効期限内の画像かどうかも合わせてご確認ください。
    https://developers.worksmobile.com/jp/document/1005025?lang=ja

    2020.06.18

    0
  • orita 投稿者

    ・画像形式:PNG形式
    ・画像サイズ:2500×1686
    ・ファイルサイズ:381KB

    上記のファイルを設定しようとしております。

    毎回画像設定前に、コンテンツアップロードより画像ファイルのアップロードを行ってから
    リッチメニュー画像の設定を実施しているので、有効期限の問題ではないかと思っております。

    ちなみに
    コンテンツアップロードでは、filenameにローカル環境の「/C:/Users/orita/Pictures/richmenu.png」を設定しており、
    ファイルダウンロードでは
    Content-Disposition: attachment; filename="%252FC%3A%252FUsers%252Forita%252FPictures%252Frichmenu.png"; charset=utf-8; filename*=UTF-8''%252FC%3A%252FUsers%252Forita%252FPictures%252Frichmenu.png
    が取得できております。

    アップロードで気になる点としてresourceSize:-4になっているのですが、こちらは問題ないでしょうか・・・

    2020.06.19

    0
  • LINE WORKS 公式アカウント

    コンテンツアップロード API の Responce パラメータ resourceSize は画像のバイト数になります。
    ファイルサイズが 381KB であれば 381,000 前後の数値となります。
    アップロード中に画像が破損している可能性がございますので、コンテンツアップロードの設定を再度お確かめください。

    大変申し訳ございませんが、こちらでは状況が再現できないためご使用の環境によるものと思われます。
    こちらのコミュニティの性質上、個別のエラーに関しましてはお答えすることができません。
    お手数をおかけしますが、ログの確認など、個別のエラーに関しましては担当のパートナー営業までご相談ください。

    2020.06.23

    0
  • orita 投稿者

    filenameにパスを指定すると、エラー発生はしませんが、
    ファイルサイズがおかしくなっているので、ファイルが壊れているようです。

    コンテンツアップロードですが
    --boundary
    Content-Disposition: form-data; name="resourceName"; filename="任意のファイル名"
    Content-Type: application/octet-stream

    .PNG***(skip)
    --boundary--

    .PNG***(skip)の部分には、
    ・ファイルパス設定
    ・BINARY型でファイルを読込、ファイルの内容を設定

    してみたのですが、リッチメニュー画像設定で上手くいきませんでした。
    .PNG***(skip)のところには何をどういう風に設定すれば良いのでしょうか。

    2020.07.20

    0
  • LINE WORKS 公式アカウント

    該当部分ですが、以下を参考に設定してみてください。

    Content-Type: multipart/form-data; boundary=----WebKitFormBoundary74eee5798fec

    ----WebKitFormBoundary74eee5798fec
    Content-Disposition: form-data; name="resourceName"; filename="/C:/Users/xxxxxxx/Desktop/sample.png"
    Content-Type: image/png
    (data)
    ----WebKitFormBoundary74eee5798fec

    2020.07.21

    0
  • orita 投稿者

    (data):ここにデータの中身を全て記載するってことでしょうか。
    画像データなので、不可能だと思うのですが、
    画像データを何かの形式に直す必要があるというわけではないのでしょうか。

    2020.07.21

    0
  • orita 投稿者

    FileNameにファイルパスを入れただけではアップロードが上手くできていないようだったので、該当ファイルをBINARYで読込後、
    (data)部分にBINARYのデータを挿入し、BODY部分を生成したところ、正常にコンテンツがアップロードされ、リッチメニューの画像設定もできました。

    2020.08.13

    0
  • LINE WORKS 公式アカウント

    解決したとのことで、良かったです。
    また、詳細をご連絡いただきありがとうございます。
    同様の症状が発生した方の参考になると思います。
    ありがとうございました。

    2020.08.13

    0
前の投稿 アクションのpostbackに「<」存在する場合コールバックボディにテキスト足りない
次の投稿serverIdと認証キーの組み合わせについて