2

我已经查看了数百个与此类似的问题的答案,但找不到任何似乎有帮助的东西。

我正在运行最新版本的 PHP SDK 和登录 facebook 按钮,该按钮具有从 getLoginUrl() 生成的链接。

在我的开发笔记本电脑上运行并以应用程序开发人员身份登录,它会将我传回重定向 url(调用 getLoginUrl() 时的回调 url 和我的应用程序设置中设置的 URL 完全相同)然后我执行 getUser 调用将在这些情况下发挥作用。

如果我在同一网络上使用我的 Iphone 尝试相同的过程,则以同一用户身份登录 facebook getUser() 返回 0。对于尝试使用 facebook 登录的任何其他用户,它也会执行相同的操作。

沙盒模式被禁用。我的应用程序域似乎设置正确。

我真的不确定下一步该做什么。

4

2 回答 2

1

非常感谢你们的回复 - 原来问题是我从一个页面发送请求并重定向回另一个页面。这似乎让 facebook 感到不安(我猜它只会重新指向它被调用的页面)。无论如何,这解决了问题 - 但非常感谢您的回复。

于 2012-12-28T12:38:31.717 回答
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;
}

希望这可以帮助。让我们知道,如果没有发布您正在使用的代码。

于 2012-11-21T17:52:22.317 回答