messaging apiを勉強しているのですが、以下のjsonの、actionsのdataのaction="begin&res=yes"の部分において、actionを取得したい時はbeginを、resを取得したいときはyesを取得するようにしたいのですが、自分が書いたコードだとなぜかaction='action'、res='res'となってしまいます。
※追記
2番目書いたものにおいて、action='begin'、res="yes"もしくは"no"のように取得したいです。
最後に書いたやり方で取得すると、action='action'、res='res'となぜか文字列がそのまま取得されてしまいます。
どうにかaction='begin'、res="yes" or "no"と取得できないでしょうか。
message = { "type": "template", "altText": "this is a confirm template", "template": { "type": "confirm", "text": "Are you sure?", "actions": [ { "type": "postback", "label": "yes", "data": "action=begin&res=yes" }, { "type": "postback", "label": "No", "text": "no", "data": "action=begin&res=no" } ] } }
{"events"=>[{"type"=>"postback", "replyToken"=>"hoge", "source"=>{"userId"=>"hoge", "type"=>"user"}, "timestamp"=>1606388380238, "mode"=>"active", "postback"=>{"data"=>"action=begin&res=yes"}}], "destination"=>"hoge", "linebot"=>{"events"=>[{"type"=>"postback", "replyToken"=>"hoge", "source"=>{"userId"=>"hoge", "type"=>"user"}, "timestamp"=>1606388380238, "mode"=>"active", "postback"=>{"data"=>"action=begin&res=yes"}}], "destination"=>"hoge"}}
events.each do |event| #~~~~省略~~~~ action = event['postback']['data']['action'] #これだと'begin'ではなく'action'が取得される res = event['postback']['data']['res'] #これだと'yes'ではなく'res'が取得される
回答1件
あなたの回答
tips
プレビュー