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