5

我用钛(3.1.3)和合金实现了facebook登录。

但有时我尝试登录时会收到此消息错误。

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

4

2 回答 2

1

在 SocialIntegrations 调用中,您必须在授权后使用您的 Facebook 令牌

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");
    }
});
于 2014-01-04T17:53:40.760 回答
0

如果您发布用于 Facebook 集成的代码,回答会更容易。

您可能在 fb.authorize() 之后调用了一些 fb 方法。将所有对 Facebook 的查询移动到事件侦听器中:

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

还可以从 Appcelerator 论坛查看这些资源:

于 2013-10-09T23:23:19.640 回答