[英]Facebook PHP SDK getUser() returning 0 in Safari on Windows
我正在使用Facebook iframe應用。 我同時使用PHP SDK和JS SDK。 在索引文件中,我調用PHP SDK以獲得有關用戶的一些信息。 這包括getUser()函數,該函數始終在索引中工作。
但是,我還有許多其他PHP文件,當用戶單擊某些鏈接時,這些文件用於填充索引中的div。 我在這些文件的每一個中都使用FB PHP SDK,以確保用戶仍登錄到FB。 也就是說,在執行這些文件時,我調用getUser()函數來獲取用戶的ID並確定該人是否仍在登錄。我通過jQuery的load()函數將這些PHP文件的內容注入到div中的div中。 。
可以在FFox,Opera,IE和Chrome下正常運行,但在某些Safari安裝下則不能。 具體來說,我在5.1.5(7534.55.3)中遇到了主要問題。 在此版本的Safari下,當jQuery load函數調用PHP文件時,getUser()函數似乎總是返回0(零)。 我假設這與會話Cookie有關? 我真的不知道,希望有人能為我提供一些啟示。 謝謝..
您可以將其添加到您的網站:
<?php
$uid = $facebook->getUser();
if ($uid==0) {
$params = array(
'scope' => 'read_stream, friends_likes',
'redirect_uri' => 'https://www.myapp.com/post_login_page'
);
$loginUrl = $facebook->getLoginUrl($params);
echo '<a href="'.$loginUrl.'">You need first to Login</a>';
exit();
} else {
//Continue your site code
}
?>
不知道這是否是一個問題,但是一段時間以來它影響了我的Safari FB應用程序開發。 看看這個SA答案來解決它,我幾乎完全遵循了它,並且有效。 Safari 5.1.5中的iframe缺少Cookie
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.