Facebook 需要具有读取页面邮箱权限才能管理对象

Facebook 需要具有读取页面邮箱权限才能管理对象,facebook,facebook-graph-api,Facebook,Facebook Graph Api,即使我已经授予“阅读页面邮箱”权限,我也遇到了来自Facebook的以下错误消息 2017-08-24T03:03:03.691425+00:00 app[web.1]: POST /webhook 500 5.551 ms - 101 2017-08-24T03:03:03.790925+00:00 app[web.1]: Failed calling Send API 403 Forbidden { message: '(#200) Requires read_page_mailboxes

即使我已经授予“阅读页面邮箱”权限,我也遇到了来自Facebook的以下错误消息

2017-08-24T03:03:03.691425+00:00 app[web.1]: POST /webhook 500 5.551 ms - 101
2017-08-24T03:03:03.790925+00:00 app[web.1]: Failed calling Send API 403 Forbidden { message: '(#200) Requires read_page_mailboxes permission to manage the object',
2017-08-24T03:03:03.790930+00:00 app[web.1]:   fbtrace_id: 'ABmbB0iwWXQ' }
2017-08-24T03:03:03.790929+00:00 app[web.1]:   code: 200,
2017-08-24T03:03:03.790928+00:00 app[web.1]:   type: 'OAuthException',
审批事项:

我在webhook中编写了以下代码:

router.post('/', function (req, res) {
    var data = req.body;
    if (data.object == 'page') {
        data.entry.forEach(function(pageEntry) {
            var pageID = pageEntry.id;
            var timeOfEvent = pageEntry.time;

            if (pageEntry.hasOwnProperty('changes')) {
                pageEntry.changes.forEach(function(changes){
                    if(changes.field === "feed" && changes.value.item === "comment" && changes.value.verb === "add"){
                        var messageData = {
                            message: "hello"
                        };
                        callPrivateReply(messageData, changes.value.comment_id);
                    }
                });
            }
        });
    }
});

function callPrivateReply(messageData,comment_id) {
    request({
        uri: 'https://graph.facebook.com/v2.9/' + comment_id + '/private_replies',
        qs: { access_token: 'TOKEN' },
        method: 'POST',
        json: messageData
    }, function (error, response, body) {
        if (!error && response.statusCode == 200) {
            console.log(body);
        } else {
            console.error("Failed calling Send API", response.statusCode, response.statusMessage, body.error);
        }
    });  
}

你在使用页面访问令牌吗?@CBroe-yap,当然。我使用了。调试您的用户访问令牌(或使用它请求
/me/permissions
),并验证它确实包含权限。yap,我在那里找到的,以及您在API调用中传递页面访问令牌的确切位置?我只看到您在传入的webhook数据上循环,并且由于您正在检查那里的页面id,我假设您正在使用此端点管理来自多个页面的更新?实际发送似乎发生在
callPrivateReply
内部,但我没有看到您向其中传递任何页面id或访问令牌。您使用的是页面访问令牌吗?@CBroe-yap,当然。我使用了。调试您的用户访问令牌(或使用它请求
/me/permissions
),并验证它确实包含权限。yap,我在那里找到的,以及您在API调用中传递页面访问令牌的确切位置?我只看到您在传入的webhook数据上循环,并且由于您正在检查那里的页面id,我假设您正在使用此端点管理来自多个页面的更新?实际的发送似乎发生在
callPrivateReply
内部,但我没有看到您向其中传递任何页面id或访问令牌。