コミュニティ

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

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

問い合わせ

action オブジェクト内 postback にシリアライスしたJsonを入れると正常にボタンが生成されない

Sat. S

2020.08.20既読 209

https://apis.worksmobile.com/r/{apiId}/message/v1/bot/{botNo}/message/push?
に対して"button_template"をQuickReplyと共に送信するときに、content.actions.postbackおよび content.quickReply.items.postbackに escape したJsonを入れると、ボタンやQuickReply自体は表示されるのですが、これらを押下時に正常に動作しないように思います。escape したjsonをpostbackで使っているのですが、使用する方法はないでしょうか。

例)
{
  "accountId": "LW ID",
  "roomId": null,
  "content": {
    "type": "button_template",
    "contentText": "CCC",
    "actions": [
      {
        "type":"message",
        "text": "aaa",
        "label":"aaa",
        "displayText": "aaa",
        "postback":"{\"foo\":\"foo\",\"hoge\":{\"datetime\":\"1970-01-01T00:00:00\"}}"
      }
    ],
    "quickReply": {
      "items": [
        {
          "imageUrl": null,
          "action": {
            "type": "message",
            "label": "bbbb",
            "text": "bbbb",
            "postback":"{\"foo\":\"foo\",\"hoge\":{\"datetime\":\"1970-01-01T00:00:00\"}}"
          }
        }
      ]
    }
  }
}

コメント2

  • LINE WORKS 公式アカウント

    postback に設定しているダブルクォート(")ですが、URL エンコードで表示すれば正常に取得することができます。
    例) "postback": "{%22foo%22:%22foo%22,%22hoge%22}"

    お手数をおかけいたしますが、こちらの方法でご利用いただければと思います。

    2020.08.20

    0
  • Sat. S 投稿者

    お教えいただいた通り、postback をURLエンコードしてから送信することで正常に動くようになりました。
    早々に回答いただきありがとうございました。

    2020.08.20

    0
前の投稿 プランをアップグレードのAPIにてエラーが発生
次の投稿iOSアプリからLINE WORKSへ画像データ送信について