在 Facebook Messenger 选择事件中获取发件人信息是否有其他要求?
Are there additional requirements to get the sender info on a Facebook messenger optin event?
我正在收听 Facebook Messenger 触发的 optin 事件。文档说我应该收到一个包含 { 'sender': { 'id': 'USER_ID' } }
的对象。但是,我得到的数据缺少此信息。我确实收到了 optin 事件,并且获得了其余数据,但我缺少 sender
.
我得到的响应如下所示:
"messaging"=>[{
"recipient"=>{"id"=>"MY_PAGE_ID"},
"timestamp"=>1503480281655,
"optin"=>{"ref"=>"PASS_THROUGH_PARAM", "user_ref"=>"5019"}
}]
我正在使用 facebook-messenger gem 来处理 webhook 事件。但是我决定直接拦截请求以检查我得到的数据,这就是我用来生成上述响应的数据。 gem 给我的对象如下所示:
#<Facebook::Messenger::Incoming::Optin:0x007fe2829a4928
@messaging={ "recipient"=>{"id"=>"MY_PAGE_ID"},
"timestamp"=>1503480091027,
"optin"=>{"ref"=>"PASS_THROUGH_PARAM", "user_ref"=>"58326"}
}>
这是我 listen 参加选择活动的地方。
最后,触发选择事件的点击处理程序完全符合 Facebook 的文档:
FB.AppEvents.logEvent('MessengerCheckboxUserConfirmation', null, {
'app_id':'<%= Figaro.env.facebook_app_id %>',
'page_id':'<%= Figaro.env.facebook_page_id %>',
'ref':'PASS_THROUGH_PARAM',
'user_ref':'<%= @uniq_user_ref %>'
});
这是剩下的 file 以防它有价值。
我还需要设置或传递什么来告诉 Facebook 我需要这些信息吗?
您可能正在使用 Checkbox plugin instead of the Send to Messenger 插件吗?在 Checkbox 文档中,他们提到了以下内容(强调我的):
Callback
After the opt-in event, we will post a webhook event to your server if
the checkbox state was checked. This callback has the same format as
the opt-in callback, but instead of a sender field, it has an optin
object with a user_ref field.
我正在收听 Facebook Messenger 触发的 optin 事件。文档说我应该收到一个包含 { 'sender': { 'id': 'USER_ID' } }
的对象。但是,我得到的数据缺少此信息。我确实收到了 optin 事件,并且获得了其余数据,但我缺少 sender
.
我得到的响应如下所示:
"messaging"=>[{
"recipient"=>{"id"=>"MY_PAGE_ID"},
"timestamp"=>1503480281655,
"optin"=>{"ref"=>"PASS_THROUGH_PARAM", "user_ref"=>"5019"}
}]
我正在使用 facebook-messenger gem 来处理 webhook 事件。但是我决定直接拦截请求以检查我得到的数据,这就是我用来生成上述响应的数据。 gem 给我的对象如下所示:
#<Facebook::Messenger::Incoming::Optin:0x007fe2829a4928
@messaging={ "recipient"=>{"id"=>"MY_PAGE_ID"},
"timestamp"=>1503480091027,
"optin"=>{"ref"=>"PASS_THROUGH_PARAM", "user_ref"=>"58326"}
}>
这是我 listen 参加选择活动的地方。
最后,触发选择事件的点击处理程序完全符合 Facebook 的文档:
FB.AppEvents.logEvent('MessengerCheckboxUserConfirmation', null, {
'app_id':'<%= Figaro.env.facebook_app_id %>',
'page_id':'<%= Figaro.env.facebook_page_id %>',
'ref':'PASS_THROUGH_PARAM',
'user_ref':'<%= @uniq_user_ref %>'
});
这是剩下的 file 以防它有价值。
我还需要设置或传递什么来告诉 Facebook 我需要这些信息吗?
您可能正在使用 Checkbox plugin instead of the Send to Messenger 插件吗?在 Checkbox 文档中,他们提到了以下内容(强调我的):
Callback
After the opt-in event, we will post a webhook event to your server if the checkbox state was checked. This callback has the same format as the opt-in callback, but instead of a sender field, it has an optin object with a user_ref field.