不要收到FBAS.init的回复

时间:2012-04-16 19:42:53

标签: facebook actionscript-3 flash facebook-graph-api facebook-actionscript-api

它一直工作到上周四,但是我想知道是否有什么变化导致代码从那时起一直都是一样的。

我将以下JSON信息传递给我在Facebook的应用程序中的FBAS.init调用

{"oauth":true,"appId":"MYAPPID"}

以下是相关代码:

//We call Facebook API init call like so:   
trace("init");
Facebook.init(_appKey, _fbInitResponse);


//Here's our callback
protected function _fbInitResponse(success:Object, fail:Object):void
{
    trace("fbInitResponse: success = " + success);

    // User logged in successfully
    if (success) 
    {
        trace("\t session recieved!");
        _session = success;
        dispatchEvent(new Event(FacebookEvent.INIT));
    } 
    else 
    {
        trace("ERROR: " + fail);
    }
}

1 个答案:

答案 0 :(得分:1)

实际上:看起来像Facebook的错误没有正确地重定向到Secure Canvas URL。下面的黑客是一个短期的解决方案,但这看起来像Facebook上的一个错误。

遇到和你一样的问题。用户使用https访问Facebook应用程序时不匹配,但应用程序页面是以http格式提供的。

自3月以来,Facebook身份验证一直在传播给用户。 我认为这是造成破坏的变化: https://developers.facebook.com/roadmap/#enhanced-auth-dialog

这个答案中的小贴士帮助了我: Facebook JavaScript SDK over HTTPS loading non-secure items

我把:FB._https = (window.location.protocol == "https:");

我把它放在脚本元素中的fb-root div之后。非常hacky。