我最近才开始将 Facebook 整合到我目前正在开发的网站上。到目前为止我所拥有的是用户可以登录,我可以在登录后获取他们的信息。我很难理解的是如何在初始登录 html 页面之后进行 FB.api() 调用?我知道 Javascript SDK 会自动处理访问令牌和其他东西,但我不确定如何使用它。到目前为止,我所拥有的是:
window.fbAsyncInit = 函数()
{
FB.init({
appId : 'API_KEY', // 设置你的应用 ID
channelUrl : 'DOMAIN', // 频道文件
status : true, // 检查登录状态
cookie : true, // 启用 cookie 以允许服务器访问会话
xfbml : true // 解析 XFBML
});
FB.Event.subscribe('auth.authResponseChange', function(response)
{
console.log("授权变更");
if (response.status === '已连接')
{
console.log("连接到 Facebook");
//成功
}
else if (response.status === 'not_authorized')
{
console.log("登录 Facebook 但不是我们");
Facebook登入();
//失败的
}
别的
{
console.log("两者都登出");
Facebook登入();
//未知错误
}
});
};
函数 FacebookLogin()
{
FB.login(功能(响应)
{
如果(response.authResponse)
{
window.location = "test.php";
}
别的
{
console.log('用户取消登录或未完全授权。');
}
},{范围:'email,user_birthday,read_friendlists'});
}
// 异步加载 SDK
(函数(d){
var js, id = 'facebook-jssdk', ref = d.getElementsByTagName('script')[0];
if (d.getElementById(id)) {return;}
js = d.createElement('脚本'); js.id = id; js.async = true;
js.src = "//connect.facebook.net/en_US/all.js";
ref.parentNode.insertBefore(js, ref);
}(文档));
所有这些代码都在登录 html 页面顶部的脚本标记内。我要做的是,一旦用户登录并通过身份验证,我将引导他们到另一个页面,我将使用 FB.api() 函数获取他们的信息并为他们填写注册表单。有什么建议或提示吗?