我有一個使用舊版本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));