1

它一直工作到上周的星期四,但我想知道是否发生了一些变化,因为从那时起代码一直是相同的。

我将以下 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);
    }
}
4

1 回答 1

1

实际上:这看起来像是 Facebook 没有正确重定向到 Secure Canvas URL 的错误。下面的 hack 是一个短期的解决方法,但这看起来像是 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。

于 2012-04-18T18:56:38.843 回答