Bot

リッチメニュー画像の設定API使用時のエラーについて

テストユーザ3

2021.11.25既読 2680

リッチメニュー画像の設定を行う際に以下のようなエラーメッセージが返ってきました。

{"status_code": 400, "content": "{\"code\":\"BAD_REQUEST\",\"domain\":\"message\",\"message\":\"Bad Request Parameters: resourcePath image size is invalid\"}

これはどのようなミスが考えられるでしょうか?

コンテンツアップロードおよびリッチメニューの登録を終え、それぞれの resourceId および richMenuId の取得には成功しております。

アップロードした画像はこちらを試させていただきました。

また、richmenuの設定は以下のとおりです。

{
"size": {
"width": 2500,
"height": 1686
},
"name": "testmenu",
"areas": [
{
"bounds": {
"x": 0,
"y": 0,
"width": 2500,
"height": 843
},
"action": {
"type": "postback",
"label": "a",
"data": "a",
"displayText": "> a"
}
},
{
"bounds": {
"x": 0,
"y": 843,
"width": 2500,
"height": 843
},
"action": {
"type": "postback",
"label": "b",
"data": "b",
"displayText": "> b"
}
}
]
}

コメント4

  • 업데이트 된 답글입니다.

    LINE WORKS 公式アカウント

    こちらの検証環境で動作を確認いたしましたが、正常に動作いたしました。
    resourceIdに指定している画像のアップロードが正常に行われているかどうか、コンテンツダウンロードAPIを利用してお確かめください。
    https://developers.worksmobile.com/jp/document/1005026?lang=ja

    2021.12.03

    0
  • 업데이트 된 답글입니다.

    テストユーザ3 投稿者

    コンテンツダウンロードAPIを使用したところ、アップロードした画像を取得できることが確認できました。
    画像のアップロード自体は正常に行われているように思われます。

    2021.12.03

    0
  • 업데이트 된 답글입니다.

    テストユーザ3 投稿者

    コンテンツアップロード使用時のレスポンスは以下のとおりです。
    {
    "code":0,
    "message":"success",
    "result":{"accessKey":"",
              "resourceCid":"<19桁の数>",
              "resourceSize":47016,
              "InjectionUploaded":"false",
              "streamLength":47016}
    }

    2021.12.03

    0
  • 업데이트 된 답글입니다.

    テストユーザ3 投稿者

    こちら解決いたしました。ご対応いただきありがとうございました。

    コンテンツアップロードを行う際に以下のようなコードを使用しておりました。
    参考:https://docs.python-requests.org/en/master/user/quickstart/?highlight=files#post-a-multipart-encoded-file

    コメントアウトがある箇所のfilepathを適当な短い文字列にすることで正常に動作いたしました。

    url = "http://storage.worksmobile.com/openapi/message/upload.api";
    headers = {
       "consumerKey": CONSUMER_KEY,
       "authorization": AUTHORIZATION,
       "x-works-apiid": APIID,
    }
    files = {"resourceName": (filepath, # <-
                             open(filepath, "rb"))}

    res = requests.post(url=url, headers=headers, files=files)

    2021.12.03

    0
前の投稿 BOTの設定について
次の投稿Googleスプレッドシートの連携
リスト

まだ、解決できませんか?
今すぐ実際に使用しているLINE WORKSユーザーに質問してみましょう。