0

私の合金/チタンiosアプリにFacebookログインを追加したいと思います。コードが正常に動作しますほとんどの部分について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

答えて

0

あなたはfb.loggedIn to falseを設定するfb.logout()を呼び出す必要があります。

fb.logoutは、アクセストークンをクリアし、ログイン状態をfalseにリセットします。

注:チタンモジュールのアクセストークンをクリアすると、FBサーバー上のトークンも消去されるかどうかはわかりません。したがって、fb.logout()を呼び出した後であっても、fbサーバーで期限切れになっていない場合に限り、同じアクセストークンを受け取ることがあります。

読むよりおよそFacebook Access Token here

+0

私は物事をしたオリジナルの方法だったこと。ただし、ユーザーがアプリケーションの権限を取り消した場合にのみ役立ちます。ユーザーが自分のアプリケーションの権限を譲渡していない場合に、「このアプリケーションは既にユーザーによって承認されています」というメッセージが表示されます。したがって、私はユーザーのログイン状態を確認する方法を見つける必要があります。 –

+0

これはFBを実装する通常の手順です。すべてのTitaniumアプリは同じフローとネイティブアプリを使用します。私はちょうど私のAndroidデバイス上のキャンディークラッシュゲームをチェックし、それはFacebookの実装はチタンとまったく同じです。 また、「このアプリケーションはすでにユーザーから承認されています」**というメッセージ**は、SDKやモジュールではなく、Facebookによって処理されて表示されるため、必要な処理を実行することはできません。 –

関連する問題