我的應用程序卡在無限重定向循環中,因爲$ facebook-> getUser();總是返回0.我已經通過stackoverflow和其他網站上的許多線程以及有關類似的問題,但迄今沒有找到解決方案。我用下面的代碼進行驗證:應用程序身份驗證卡在無限重定向循環
//
$facebook = new Facebook(array(
'appId' => APP_ID,
'secret' => APP_SECRET,
'cookie' => true,
));
// Get User ID
$user = $facebook->getUser();
if ($user) {
try {
// Proceed knowing you have a logged in user who's authenticated.
$user_profile = $facebook->api('/me');
} catch (FacebookApiException $e) {
error_log($e);
$user = null;
}
}
// Login or logout url will be needed depending on current user state.
if ($user) {
$logoutUrl = $facebook->getLogoutUrl();
} else {
$loginUrl = $facebook->getLoginUrl(
array (
"scope" => "user_likes,email,user_hometown,publish_stream",
"redirect_uri" => "https://www.facebook.com/pages/erdekelnehu/268142359907805?sk=app_175080802604575"
));
die ('<script type="text/javascript">top.location.href="' . $loginUrl . '";</script>');
}
一些調試我發現,從OAuth的重定向對話框我的應用程序這麼想的有signed_request後。 $ _GET,$ _POST和$ _REQUEST都是空數組。 $ facebook-> getLoginUrl返回以下網址: https://www.facebook.com/dialog/oauth?client_id=175080802604575&redirect_uri=https%3A%2F%2Fwww.facebook.com%2Fpages%2Ferdekelnehu%2F268142359907805%3Fsk%3Dapp_175080802604575&state=3c0d5802c89e913368ea814d49792454&scope=user_likes%2Cemail%2Cuser_hometown%2Cpublish_stream
我打過電話$ facebook-> getLoginUrl沒有REDIRECT_URI參數,把它留給fb的找出正確的返回網址: https://www.facebook.com/dialog/oauth?client_id=175080802604575&redirect_uri=https%3A%2F%2Ferdekelne.hu%2Fdroidtv%2F&state=3c0d5802c89e913368ea814d49792454&scope=user_likes%2Cemail%2Cuser_hometown%2Cpublish_stream
兩個網址不一樣,都沒有工作。第二個url重定向到一個fb錯誤頁面,表示發生了一些錯誤,「我們正在努力盡快解決這個問題」。 那麼它可能是一個FB錯誤,或者我做錯了什麼?任何想法將不勝感激,經過6個小時的調試後,我已經完全用完了。
檢查1.您是否在應用程序註冊中正確配置了您的網站網址(請注意,www.www.example.com不等於example.com)。2.您是否從註冊的域名申請。 – 2012-02-17 12:54:21
我終於設法整理出來了。我必須在應用程序設置頁面上將index.php附加到我的頁面標籤網址。現在一切都很好。 – Necrophorus 2012-02-19 11:59:30