Iam試圖構建基於PHP的Facebook應用程序。該應用程序在Canvas上作爲iFrame在我自己的Webhost上運行。PHP應用程序運行失敗
我已經包括了來自Facebook的PHP最新的客戶端庫:Facebook的PHP-SDK-94fcb13
批准我的申請IAM嘗試使用Facebook連接,就像隨客戶端的例子中,用戶。一切工作正常的第一次登錄,但是當我點擊F5鍵重新加載頁面,會話丟失,我不得不再次登錄。當我在Facebook畫布外調用我的應用程序時,一切都很好。
Iam不確定,但我認爲我的瀏覽器(Chrome/FireFox - Ubuntu)不允許在iFrame中存儲cookie。
有人知道這個問題的解決方案嗎?下面是源代碼的某些部分:
$facebook = new Facebook(array(
'appId' => 'x',
'secret' => 'x',
'cookie' => 'true',
));
$session = $facebook->getSession();
$facebook->setSession($session);
$me = null;
// Session based API call.
if ($session) {
try {
$uid = $facebook->getUser();
$me = $facebook->api('/me');
} catch (FacebookApiException $e) {
error_log($e);
}
}
// login or logout url will be needed depending on current user state.
if ($me) {
$logoutUrl = $facebook->getLogoutUrl();
} else {
$loginUrl = $facebook->getLoginUrl();
}
您必須爲查詢字符串拼接的SID常數前加一個'?'或'&'字符。即:'header('my/uri?'。SID)'或'header('my/uri?my = param&'。SID)'爲了讓你的代碼工作。 – 2012-04-17 17:40:11