Facebookのメッセンジャーによって発生したoptinイベントを聞いています。ドキュメントでは、{ 'sender': { 'id': 'USER_ID' } }
というオブジェクトを受け取るべきだと言います。しかし、私が得たデータにはこの情報が欠落しています。私はoptinイベントを受け取り、残りのデータを取得しますが、私はsender
が見つかりません。Facebookのメッセンジャーオプティンイベントで送信者情報を取得するための追加要件はありますか?
私はこのようなルックスを得る応答:
"messaging"=>[{
"recipient"=>{"id"=>"MY_PAGE_ID"},
"timestamp"=>1503480281655,
"optin"=>{"ref"=>"PASS_THROUGH_PARAM", "user_ref"=>"5019"}
}]
私はウェブフックイベントを処理するためにfacebook-messenger宝石を使用しています。しかし私は、私が上記の応答を生成するために使用していたデータをチェックするために直接要求を傍受することに決めました。宝石は私を与えるオブジェクトは、次のようになります。
#<Facebook::Messenger::Incoming::Optin:0x007fe2829a4928
@messaging={ "recipient"=>{"id"=>"MY_PAGE_ID"},
"timestamp"=>1503480091027,
"optin"=>{"ref"=>"PASS_THROUGH_PARAM", "user_ref"=>"58326"}
}>
はここでどこがlistenのoptinイベントにです。
最後のoptinイベントを発生させるクリックハンドラが正確に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にこの情報が必要だと言うためにセットアップやパススルーが必要なことはありますか?
ドップ!ありがとうございました!私は彼らが同じイベントだと思っていて、チェックボックスの使用が異なるデータをもたらすことに気付かなかった。 –