質問編集履歴

4

修正

2020/11/26 11:30

投稿

leeev
leeev

スコア20

test CHANGED
File without changes
test CHANGED
@@ -60,77 +60,11 @@
60
60
 
61
61
  ```アクションの結果帰ってくるeventsパラメーター
62
62
 
63
- {
63
+ {"events"=>[{"type"=>"postback", "replyToken"=>"hoge", "source"=>{"userId"=>"hoge", "type"=>"user"}, "timestamp"=>1606388380238, "mode"=>"active", "postback"=>{"data"=>"action=begin&res=yes"}}],
64
64
 
65
- "events": [
65
+ "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"}}
66
66
 
67
- {
68
67
 
69
- "type": "postback",
70
-
71
- "replyToken": "hoge",
72
-
73
- "source": {
74
-
75
- "userId": "hoge",
76
-
77
- "type": "user"
78
-
79
- },
80
-
81
- "timestamp": 1606388380238,
82
-
83
- "mode": "active",
84
-
85
- "postback": {
86
-
87
- "data": "action=begin&res=yes"
88
-
89
- }
90
-
91
- }
92
-
93
- ],
94
-
95
- "destination": "hoge",
96
-
97
- "linebot": {
98
-
99
- "events": [
100
-
101
- {
102
-
103
- "type": "postback",
104
-
105
- "replyToken": "hoge",
106
-
107
- "source": {
108
-
109
- "userId": "hoge",
110
-
111
- "type": "user"
112
-
113
- },
114
-
115
- "timestamp": 1606388380238,
116
-
117
- "mode": "active",
118
-
119
- "postback": {
120
-
121
- "data": "action=begin&res=yes"
122
-
123
- }
124
-
125
- }
126
-
127
- ],
128
-
129
- "destination": "hoge"
130
-
131
- }
132
-
133
- }
134
68
 
135
69
  ```
136
70
 

3

修正

2020/11/26 11:30

投稿

leeev
leeev

スコア20

test CHANGED
File without changes
test CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  ※追記
4
4
 
5
- 2番目のjsonにおいて、action='begin'、res="yes"もしくは"no"のように取得したいです。
5
+ 2番目書いたものにおいて、action='begin'、res="yes"もしくは"no"のように取得したいです。
6
6
 
7
7
  最後に書いたやり方で取得すると、action='action'、res='res'となぜか文字列がそのまま取得されてしまいます。
8
8
 

2

追記

2020/11/26 11:12

投稿

leeev
leeev

スコア20

test CHANGED
File without changes
test CHANGED
@@ -1,12 +1,18 @@
1
1
  messaging apiを勉強しているのですが、以下のjsonの、actionsのdataのaction="begin&res=yes"の部分において、actionを取得したい時はbeginを、resを取得したいときはyesを取得するようにしたいのですが、自分が書いたコードだとなぜかaction='action'、res='res'となってしまいます。
2
2
 
3
+ ※追記
4
+
5
+ 2番目のjsonにおいて、action='begin'、res="yes"もしくは"no"のように取得したいです。
6
+
7
+ 最後に書いたやり方で取得すると、action='action'、res='res'となぜか文字列がそのまま取得されてしまいます。
8
+
3
- どうにか2番目に書いたコードで、action='begin'、res="yes" or "no"のように取得できないでしょうか。
9
+ どうにかaction='begin'、res="yes" or "no"取得できないでしょうか。
4
10
 
5
11
 
6
12
 
7
13
 
8
14
 
9
- ```ここに言語を入力
15
+ ```送信内容
10
16
 
11
17
  message = {
12
18
 
@@ -52,7 +58,87 @@
52
58
 
53
59
  ```
54
60
 
61
+ ```アクションの結果帰ってくるeventsパラメーター
62
+
63
+ {
64
+
65
+ "events": [
66
+
67
+ {
68
+
69
+ "type": "postback",
70
+
71
+ "replyToken": "hoge",
72
+
73
+ "source": {
74
+
75
+ "userId": "hoge",
76
+
77
+ "type": "user"
78
+
79
+ },
80
+
81
+ "timestamp": 1606388380238,
82
+
83
+ "mode": "active",
84
+
85
+ "postback": {
86
+
87
+ "data": "action=begin&res=yes"
88
+
89
+ }
90
+
91
+ }
92
+
93
+ ],
94
+
95
+ "destination": "hoge",
96
+
97
+ "linebot": {
98
+
99
+ "events": [
100
+
101
+ {
102
+
103
+ "type": "postback",
104
+
105
+ "replyToken": "hoge",
106
+
107
+ "source": {
108
+
109
+ "userId": "hoge",
110
+
111
+ "type": "user"
112
+
113
+ },
114
+
115
+ "timestamp": 1606388380238,
116
+
117
+ "mode": "active",
118
+
119
+ "postback": {
120
+
121
+ "data": "action=begin&res=yes"
122
+
123
+ }
124
+
125
+ }
126
+
127
+ ],
128
+
129
+ "destination": "hoge"
130
+
131
+ }
132
+
133
+ }
134
+
135
+ ```
136
+
55
137
  ```ここに言語を入力
138
+
139
+ events.each do |event|
140
+
141
+ #~~~~省略~~~~
56
142
 
57
143
  action = event['postback']['data']['action'] #これだと'begin'ではなく'action'が取得される
58
144
 

1

修正

2020/11/26 11:10

投稿

leeev
leeev

スコア20

test CHANGED
File without changes
test CHANGED
@@ -1,4 +1,4 @@
1
- 以下のjsonの、actionsのdataのaction="begin&res=yes"の部分において、actionを取得したい時はbeginを、resを取得したいときはyesを取得するようにしたいのですが、自分が書いたコードだとなぜかaction='action'、res='res'となってしまいます。
1
+ messaging apiを勉強しているのですが、以下のjsonの、actionsのdataのaction="begin&res=yes"の部分において、actionを取得したい時はbeginを、resを取得したいときはyesを取得するようにしたいのですが、自分が書いたコードだとなぜかaction='action'、res='res'となってしまいます。
2
2
 
3
3
  どうにか2番目に書いたコードで、action='begin'、res="yes" or "no"のように取得できないでしょうか。
4
4