2012-05-10 41 views
0

我有一个网络应用程序,允许用户将他们的Facebook帐户绑定到我们网站的登录名并交替使用它们。Facebook请求权限不能显示在框架中

在Internet Explorer 8中& 9登录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

Facebook对他们的身份验证进行了很多更改,因此我强烈建议您转移到当前的api。无论如何,我没有意识到您的问题有任何解决方法。作为@NitzanTomer建议的 –

+0

,您可能需要迁移到最新的sdk。 – Dhiraj

回答

0

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

这解决了我的问题。