2012-05-18 49 views
1

我目前正在開發一個應用程序,使用PHP,基本上它已完成,並且在測試它時,沒有出現任何問題(Chrome),直到在I.E上進行測試。 (7,8 & 9)只有在IE瀏覽器的Facebook錯誤191,可能realssl

該應用程序可以驗證,但每當我嘗試與應用程序進行交互,它示出了錯誤

API錯誤代碼:191 API錯誤說明:指定的URL不歸通過應用程序 錯誤消息:無效的redirect_uri:應用程序的URL沒有任何許可證配置應用程序。現在

,我已經檢查在FB中的應用程序設置,要與PHP中的重定向對應關係,根本看不出有什麼問題:

(在Facebook中)

URL德爾錫蒂奧 https:// secure3.realssl.com/pepitolapelicula/concurso/ Páginade trabajo https:// apps.facebook.com/concursospepito/ URL del lienzo https:// secure3.realssl.com/pepitolapelicula/concurso/ 安全畫布網址 https:// secure3.realssl.com/pepitolapel icula/concurso/ Lienzo FBML/iframe中 IFRAME 沙箱模式 Activado 取消授權URL 的https:// secure3.realssl.com/pepitolapelicula/concurso/

(PHP中的部分,以鑑定)

$fbconfig['appid' ] = "000"; 
$fbconfig['secret'] = "000"; 

$fbconfig['baseUrl'] = "https://secure3.realssl.com/pepitolapelicula/concurso/"; 
$fbconfig['appBaseUrl'] = "http://apps.facebook.com/concursospepito/"; 


if (isset($_GET['code'])){ 
    header("Location: " . $fbconfig['appBaseUrl']); 
    exit; 
} 

if (isset($_GET['request_ids'])){ 

} 

$user = null; 
try{ 
    include_once "facebook.php"; 
} 
catch(Exception $o){ 
    echo '<pre>'; 
    print_r($o); 
    echo '</pre>'; 
} 

$facebook = new Facebook(array(
    'appId' => $fbconfig['appid'], 
    'secret' => $fbconfig['secret'], 
    'cookie' => true, 
)); 


$user  = $facebook->getUser(); 
$loginUrl = $facebook->getLoginUrl(array('scope'=>'publish_stream')); 

if ($user) { 
    try { 
    // Proceed knowing you have a logged in user who's authenticated. 
    $user_profile = $facebook->api('/me'); 
    } catch (FacebookApiException $e) { 
    d($e); // d is a debug function defined at the end of this file 
    $user = null; 
    } 
} 

if (!$user) { 
    echo "<script type='text/javascript'>top.location.href = '$loginUrl';</script>"; 
    exit; 
} 

//get user basic description 
$userInfo   = $facebook->api("/$user"); 

我認爲這可能是主機提供商(secure3.realssl)的東西,但老實說我現在沒有線索。因此,thanx提前任何幫助,您可以提供

回答

0

那麼,這是很奇怪的,但是......

我已經成功地使事情的工作使用 在這個問題上提供(由SIR)的例子authenticating facebook canvas application returns ?code=

基本上,我注意到的事情是,我使用的代碼得到了

if (isset($_GET['code'])){ 
    header("Location: " . $fbconfig['appBaseUrl']); 
    exit; 
} 
$user  = $facebook->getUser(); 

雖然爵士的答案例如首先得到的是$ USER,之後檢查「代碼」

不過,奇怪的是,只有在IE瀏覽器的行爲的研究指出

感謝