質問

I implemented facebook login with Titanium(3.1.3) And Alloy.

But sometimes i'v this message Error when i try to login.

message = "FBSession: should only be used from a single thread";

役に立ちましたか?

解決

in the SocialIntegrations call you must use your Facebook token after authorize

Alloy.Globals.Facebook = require('facebook');

    Alloy.Globals.Facebook.addEventListener('login', function(e) {
    if (e.success) {
        alert('Logged In' + JSON.stringify(e));
        Cloud.SocialIntegrations.externalAccountLogin({
            type : 'facebook',
            token : Alloy.Globals.Facebook.accessToken
        }, function(e) {
            if (e.success) {
                var user = e.users[0];
               // success
            } else {
                //error
            }
        });
    } else if (e.error) {
        alert(e.error);
    } else if (e.cancelled) {
        alert("Canceled");
    }
});

他のヒント

It would be easier to answer if you will post code which you use for Facebook integration.

You are probably calling some fb method just after fb.authorize(). Move all queries made to Facebook into event listener:

fb.addEventListener('login', function(event) {
  if (e.success) {
    /* your code */
  }
});

Also check out those resources from Appcelerator forum:

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top