我已经查看了类似问题的数百个答案,但找不到任何有用的答案。
我正在运行最新版本的PHP SDK和登录到facebook按钮,该按钮具有来自getLoginUrl()的生成链接。
在我的开发笔记本电脑上运行并以应用程序开发人员的身份登录,它将我传回重定向网址(调用getLoginUrl()时的回调网址和我的应用程序设置中设置的URL完全相同)然后我做了一个getUser调用将在这些情况下起作用。
如果我在同一个网络上使用我的Iphone尝试相同的过程,以facebook上的相同用户身份登录getUser()会返回0。 对于尝试使用facebook登录的任何其他用户,它也会这样做。
禁用沙盒模式。 我的app域似乎设置正确。
我真的不确定接下来该做什么。
答案 0 :(得分:1)
非常感谢您的回复人员 - 结果问题是我从一个页面发送请求并重定向回另一个页面。这似乎打乱了facebook(我猜它只会重新指向它所调用的页面)。 无论如何,这解决了这个问题 - 但非常感谢您的回复。
答案 1 :(得分:0)
首先确保您使用以下命令维护脚本中的会话:
session_start();
位于php文件的顶部。
接下来使用类似这样的东西来测试你是否有fb用户,如果没有,则将它们重定向到oauth,如果他们已经过了授权就会更新他们的令牌。
require_once('facebook/fb.inc');
在session_start();
if (!$fbUser) {
$loginUrl = $facebook->getLoginUrl(
array(
'scope' => 'email,publish_stream,user_location',
'redirect_uri' => 'http://scubadivinglog.org/php/fblink.php'
)
);
echo "<script type='text/javascript'>top.location.href = '$loginUrl';</script>";
exit;
}
希望这会有所帮助。如果没有发布您正在使用的代码,请告诉我们。