我有一个使用旧版本FB API的注册表单。如何正确处理用户注册和重定向?
我试图将其更新为当前版本,并且遇到了处理来自FB的响应的问题。
在点击FB登录按钮并授予权限(email,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));