2011-10-21 24 views
0

我在這裏有點困惑。基本問題是在我的粉絲頁面上,當我點擊應用程序的圖標時,我使它在Firefox中正常工作,但在IE中,我收到錯誤「此內容無法在框架中顯示」,並且在Chrome中從未打開應用程序並變得空白。這發生在我的facebook配置文件中,我創建的應用程序以及測試帳戶。奇怪的是,在我的其他Facebook帳戶上,它在所有瀏覽器上都能正常工作。該應用程序也適用於直接從搜索或最近的應用程序。我最近更改了應用程序名稱和安全ID,並將其重新連接到了我的頁面。在應用程序設置下,我的標籤網址是正確的。我的畫布頁面頂部的代碼包括:Chrome中的錯誤/即從粉絲頁面重定向到Facebook應用

<?php  
$app_id = "181247898619054"; 
$app_secret = "xxxxxxxxxxxxxxxxxxxxxxxxxxx"; 
$my_url = "https://apps.facebook.com/wellnessq/"; 
session_register(); 
session_start(); 


if (!isset($_REQUEST["code"])) 
{ 
$_SESSION['state'] = md5(uniqid(rand(), TRUE)); //CSRF protection 
$dialog_url = "http://www.facebook.com/dialog/oauth?client_id=" 
    . $app_id . "&redirect_uri=" . urlencode($my_url) . "&scope=email&state=" 
    . $_SESSION['state']; 

echo("<script> top.location.href='" . $dialog_url . "'</script>"); 
exit; 
} 
$code = $_REQUEST['code']; 
{ 
    $token_url = "https://graph.facebook.com/oauth/access_token?" 
    . "client_id=" . $app_id . "&redirect_uri=" . urlencode($my_url) 
    . "&client_secret=" . $app_secret . "&code=" . $code; 

$response = file_get_contents($token_url); 
$params = null; 
    parse_str($response, $params); 

    $graph_url = "https://graph.facebook.com/me?access_token=" 
    . $params['access_token']; 

    $user = json_decode(file_get_contents($graph_url)); 
} 

?> 

任何想法?如果你想自己查看錯誤,只需告訴我,我會發布到哪裏找到它們。謝謝。

+0

我很好奇,如果Chrome不喜歡腳本重定向的注入,它可能很容易與劫持企圖混淆並放棄它,或者顯示錯誤。 – Tim

+0

真正的奇怪的部分是,它只發生在我的一個臉書賬戶上,另一個在所有瀏覽器上完全正常工作。我刪除了所有的cookies並再次嘗試,但沒有成功。 – Trey

回答

0

你可以使用PHP頭重定向到你的鏈接?

header('Location: http://www.yoursite.com/new_page.html') ; 
+0

是的,這沒有奏效。這很奇怪,因爲它從facebook主頁上的應用程序列表中運行,但是不允許從粉絲頁面轉到應用程序。這個問題並不存在。 – Trey