我想添加Facebook登錄到我的Alloy/Titanium ios應用。使用Alloy或Titanium在iOS應用中檢查Facebook登錄狀態
到目前爲止,我有以下代碼:
var fb = require('facebook');
fb.initialize();
fb.setLoginBehavior(fb.LOGIN_BEHAVIOR_NATIVE);
fb.permissions = ['email', 'public_profile'];
function doFacebookLogin() {
// occurs when a button is clicked
if (fb.loggedIn) {
facebookLogin(fb);
} else {
fb.authorize();
}
}
fb.addEventListener('login', function(event) {
if (event.success) {
facebookLogin(fb);
}
});
function facebookLogin(fb) {
Ti.API.info(fb.accessToken);
// send the fb.accessToken server-side and register & login the user
}
對於大部分的代碼工作正常!
問題是當用戶取消授權應用時,fb.login
仍然返回true
,因此使用相同的訪問令牌。
如何檢查用戶是否已取消授權我的應用程序。我知道它使用使用FB.getLoginStatus
JavaScript的SDK是容易實現:https://developers.facebook.com/docs/reference/javascript/FB.getLoginStatus,但我找不到鋁合金/鈦合金等價物:https://docs.appcelerator.com/platform/latest/#!/api/Modules.Facebook
這是我做事情的原始的方式。但是,只有在用戶取消授權我的應用程序時纔有所幫助。如果用戶沒有取消對我的應用程序的授權,並且我這樣做,它會給我一個消息,說明「該應用程序已經被用戶授權」。因此,我需要找到一種方法來檢查用戶的登錄狀態。 –
這是實現FB的正常程序。所有的Titanium應用程序都使用相同的流程甚至本地應用我剛剛在我的Android設備上檢查了Candy Crush遊戲,它的Facebook實現與Titanium完全相同。 此外,我不認爲有可能做你想做的事情,因爲**這個應用程序已經被用戶授權** **是由Facebook處理和顯示的,而不是由SDK或模塊來處理。 –