使用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用户,并从你的系统数据中检索得分最高的用户。