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