簡體   English   中英

Facebook PHP SDK getUser()在Windows上的Safari中返回0

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM