Facebook请求权限不能显示在框架中

时间:2012-05-10 15:07:12

标签: facebook

我有一个网络应用程序,允许用户将他们的Facebook帐户绑定到我们网站的登录名并交替使用它们。

在Internet Explorer 8& 9 FB登录用户在尝试将FB帐户与我们的FB帐户连接时收到错误。 FB cannot display in frame error

当我点击错误消息中的链接时,我会看到以下页面: FB endpoint deprecated

我正在使用非常旧的API版本v0.4 http://static.ak.connect.facebook.com/js/api_lib/v0.4/FeatureLoader.js.php

javascript代码为:

FB_RequireFeatures(["Api"], function()
    {
        FB.init("<?php echo HSWI_FB_KEY ?>", "/xd_receiver.htm");
        var api = FB.Facebook.apiClient;
        var permissions = 'email,publish_stream';
        FB.Connect.showPermissionDialog(permissions, function(response)
        {
            if(response.indexOf("publish_stream") === -1)
            {
                // user denied the publish_stream extended permission
                $("input.fb_publish_stream").each(
                    function(i)
                    {
                        this.checked = false;
                    }
                );
            }

            api.users_hasAppPermission('email', function(response2)
            {
                if(response.indexOf("email") === -1 && response2 !== 1)
                {
                    // user denied the email extended permission
                    // showAskForEmail();
                }
                else
                {
                    $('#facebookRegForm').submit();
                }
            });
        });
    });

过去常常工作,页面上的任何内容都没有改变。

我是FB集成的新手,这是我继承的项目。

是否有针对此的已知解决方法?

我是否需要更新我的API版本?

非常感谢任何想法。

1 个答案:

答案 0 :(得分:0)

我将我的FB SDK代码更新为最新版本的JS(异步)&amp; PHP SDK(v.3.1.1)。

这解决了我的问题。