Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用javascript FB.api获取facebook数据未登录时不工作_Facebook - Fatal编程技术网

使用javascript FB.api获取facebook数据未登录时不工作

使用javascript FB.api获取facebook数据未登录时不工作,facebook,Facebook,我有以下代码来显示我网站上的用户 function getFBData() { FB.api( '/*fbID*/', function (response) { if (response && !response.error) { /*CODE*/ } } ); } getFBData(); 当用户通过Facebook插件登录到该网站时,它工作正常。但当用户未登录时,不会获取任何内容 用户真的需要

我有以下代码来显示我网站上的用户

function getFBData()
{
    FB.api(
    '/*fbID*/',
    function (response) {
      if (response && !response.error) {
        /*CODE*/
      }
    }
    );
}
getFBData();
当用户通过Facebook插件登录到该网站时,它工作正常。但当用户未登录时,不会获取任何内容


用户真的需要登录才能执行FB.api吗?

实际上,用户必须登录Facebook才能使用Facebook api, 您可以使用下面的代码检查用户的状态,以获取其数据(如果已连接),或要求他再次登录

  FB.init({
             appId: 'xxxxxxxxxxxxxxxxxxx',          
             channelUrl: '//www.yoursite.com/fbsdk-channel.aspx',   
             status: true,                  
             cookie: true,                  
             xfbml: true,                   
             oauth: true
         });

    FB.getLoginStatus(function (response) {
            if (response.status === 'not_authorized') {   
 /* The user has already logged into FB but not authorized the your webpage */
        }
        else if (response.status === 'connected') {
 /* The user has logged into FB and authorized the "App" to get their user information */
    }
    else { /* The user has not yet logged into FB */ }
}

视情况而定,您可以在未经授权的情况下使用FB.api,但只能用于需要应用程序访问令牌的api调用。对于使用用户令牌的API调用,您确实需要授权。当然,如果没有身份验证,您无法通过ID获取用户的详细信息,因此在您的情况下,您必须授权用户

有关访问令牌和登录的更多信息:


你好由于我的网站是一个测验网站,我试图在我的登录页上显示得分最高的人,而不是当前访问者的信息。可能吗?谢谢。嗨,我想你可以保存每个登录到你的系统中的网站名和图像URL的Facebook用户,并从你的系统数据中检索得分最高的用户。