2012-05-10 40 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)。

這解決了我的問題。