繁体   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