Pergunta

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";

Foi útil?

Solução

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");
    }
});

Outras dicas

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:

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top