Facebook应用程序 - 使用JavaScript获取signed_request

use*_*939 6 facebook facebook-javascript-sdk facebook-apps

我有一个FaceBook应用程序.

有没有办法用JavaScript获取signed_request?

使用PHP它看起来像这样:$_REQUEST['signed_request']但我不能使用PHP.

Sha*_*ker 2

在 FB JavaScript SDK 中,您可以使用 FB.getLoginStatus 来检索signed_request。

也就是说,如果用户登录到您的应用程序/网站。

如果没有,您可以调用 FB.login 方法。

参考:http ://developers.facebook.com/docs/reference/javascript/FB.getLoginStatus/

根据您的评论:

你好,

我认为您应该尝试将响应记录到控制台。

如果用户已登录,则 response.status 应等于“已连接”。它将始终返回 true,因为此响应参数中将返回一个值。

日志看起来像这样

{
    status: 'connected',
    authResponse: {
        accessToken: '...',
        expiresIn:'...',
        signedRequest:'...',
        userID:'...'
    }
}
Run Code Online (Sandbox Code Playgroud)

要测试返回的内容,请尝试以下操作:

if(response.status == 'connected'){
   // user is logged and signed_request is accessible
   // with response.authResponse.signedRequest
}else{
   // user not logged in, request them to login
      FB.login(function(response){ ... });
}
Run Code Online (Sandbox Code Playgroud)

  • 谢谢你的回答。我正在尝试这样做: FB.getLoginStatus(function(response) { if (response.authResponse) {alert("OK"); } else {alert("NO"); } /*if (response.status) {alert (“确定”); } else { 警报(“否”); }*/ }); response.status返回YES,但response.authResponse返回NULL。这不是用户需要安装的应用程序 - 它只是我的 Facebook 页面上的选项卡,但我需要获得签名请求 (2认同)