我有一个使用旧版本 FB API 的注册表单。
我正在尝试将其更新到当前版本,并且在处理来自 FB 的响应时遇到问题。
单击 FB 登录按钮并授予权限(电子邮件、publish_stream)后,我找不到知道用户已授予访问权限(而不仅仅是作为已注册用户登录)并需要继续进行注册的下一页的方法形式。
权限请求成功后的响应与登录成功相同:
{
authResponse:
{
accessToken: AAAFEIew...URYo,
userID: 100003908595992,
expiresIn: 6014,
signedRequest: uhTqZodDn0QUoWAUBuYEKmlaM8zViO0r_fnKONaC4v8.eyJhbGdvcml...k5MiJ9,
},
status: connected
}
如何判断登录是已注册用户的结果还是新注册的结果?
我正在使用 JavaScript SDK。
代码:
<script src="http://connect.facebook.net/en_US/all.js" type="text/javascript"></script>
<div id="fb-root" style="padding: 0px;"></div>
<script>
window.fbAsyncInit = function() {
FB.init({
appId : 'API_KEY',
status : true,
channelUrl : '//'+window.location.hostname+'/channel.php',
cookie : true,
xfbml : true,
oauth : true
});
// listen for and handle auth.statusChange events
FB.Event.subscribe('auth.statusChange', function(response) {
if (response.authResponse) {
// user has auth'd your app and is logged into Facebook
alert('logged in!');
}
else
{
// user has not auth'd your app, or is not logged into Facebook
alert('not logged in!');
}
});
};
(function(d){
var js, id = 'facebook-jssdk'; if (d.getElementById(id)) {return;}
js = d.createElement('script'); js.id = id; js.async = true;
js.src = "//connect.facebook.net/en_US/all.js";
d.getElementsByTagName('head')[0].appendChild(js);
}(document));