0

我有一个使用 Node JS 和 Express 开发的 Facebook Pagetab 应用程序。它似乎在大多数情况下都可以正常工作,但有时却不行。我在复制问题时遇到问题,因此很难调试,但我认为我已经找到了问题所在。

当主页加载时,我利用 Thuzi 的 Facebook 模块 ( https://github.com/Thuzi/facebook-node-sdk ) 筛选 Facebook 传递给我的签名请求,以确定用户是否喜欢该页面:

var fb = require('fb');
var signedRequest  = fb.parseSignedRequest(req.body.signed_request, process.env.FACEBOOK_APP_SECRET);   

if(signedRequest ){
    if( signedRequest.page.liked){
        res.redirect('/authorise');                         
    }
    else {
        res.redirect('/gate');
    }
}
else {
    console.log('No signed request');
}   

但是,有时会向控制台发送“未签名请求”,因此基本上 Facebook 有时不会传递已签名请求。因此,用户只是被显示为一个空白屏幕。如果我使用代码重定向到主页,它只会陷入无限循环。我需要签名的请求才能相应地重定向用户。Facebook 有时不会向我发送签名请求是否有任何原因?

如果我检查 req.body.signed_request 的内容,它有时是空的,所以好像 fb 模块没有正常工作。

4

0 回答 0