如何在Facebook领先的webhook数据中检索`custom_disclaimer_responses`

时间:2016-11-17 22:04:45

标签: facebook facebook-graph-api

我已经设置了一个webhook,可以从Facebook上的潜在客户广告中提交数据。

在我的回复中,我可以访问field_data,可以查看姓名和电子邮件地址,但似乎找不到custom_disclaimer_responses的位置。

我正在使用图形API资源管理器发送测试提交并获得成功的响应

Graph API example

我的webhook代码如下:

exports.webhook = function (req, res, next) {
    var lead = req.body.entry[0].changes[0].value;
    var leadID = lead.leadgen_id;
    var formID = lead.form_id;
    var customDisclaimerResponses = lead.custom_disclaimer_responses

    fs.readFile(config.token, 'utf8', function(err, data) {
        if (err) {
            console.log('err', err)
            throw err;
        }

        var content = JSON.parse(data);

        if(!content.access_token) {
            console.log('Facebook Access Token is invalid.');
            res.sendStatus(400);
        } else {
            FB.options({accessToken: content.access_token});

            FB.api('/' + leadID, function (response) {
                if(response && response.error) {
                    console.log('error', response.error);
                    res.sendStatus(400);
                } else {

                    var fields = response.field_data;

                    // do stuff here with fields

                    // Response moved to outside of above function block since Facebook will
                    // stop sending updates if the webhook starts giving errors repeatedly.
                    res.sendStatus(200);
                }
            });
        }
    });
}

回复示例:

{ created_time: '2016-11-17T09:52:44+0000',
  id: '<id>',
  field_data: 
   [ { name: 'email', values: [Object] },
     { name: 'first_name', values: [Object] },
     { name: 'last_name', values: [Object] },
     { name: 'city', values: [Object] },
     { name: 'date_of_birth', values: [Object] } 
   ] 
 }

1 个答案:

答案 0 :(得分:2)

How to retrieve custom disclaimer responses

我不使用webhooks,但我认为这可以帮助你: 您可以添加参数fields = custom_disclaimer_responses以获取所需的数据。

我通过用户ID

重新加入收集的数据(field_data中没有参数的数据)

这是我的PHP代码,例如:

$url = "https://graph.facebook.com/v2.9/$leadForm/leads?access_token=".$appToken;
$urlCustom = "https://graph.facebook.com/v2.9/$leadForm/leads?fields=custom_disclaimer_responses&access_token=".$appToken;