【问题标题】:Facebook Graph API returns false for Page AccountsFacebook Graph API 为页面帐户返回 false
【发布时间】:2012-05-11 00:30:48
【问题描述】:

我正在尝试为我的网站使用 facebook connect。 当我尝试以普通用户身份登录时,一切都很好,所有正确的信息都会返回。 但是,当我以“PAGE”帐户登录时,事情开始变得很奇怪。 成功登录后,如果我使用以下内容: https://graph.facebook.com/me/?access_token={access token},我得到了“假”。 如果我将“我”替换为页面帐户的 ID,那么我会得到正确的信息。

另一个问题是,在成功登录为“PAGE”帐户后,fbs_appID 会话 cookie 设置了错误的“uid”。使用普通用户帐户一切正常。

我页面上的所有设置都是“13+”,并且没有国家限制。

有人可以帮忙吗?

【问题讨论】:

    标签: facebook facebook-graph-api


    【解决方案1】:

    我们得到了同样的行为。

    如果在以 Facebook 主页身份登录时登录,Facebook 通常会显示一个对话框,上面写着“您无法以 Facebook 主页身份登录。切换到 xxx 用户”。

    因此,您应该始终在您的 FB 连接代码中获得一个普通用户。

    但有时 Facebook 似乎无法正确处理该问题,并允许用户尝试以 Facebook 主页的身份登录。然后你得到的访问码不允许你获取用户信息。

    所以我认为你无能为力,只是警告用户他必须以普通用户 Facebook 个人资料的身份登录。

    这是我们获得的完整交通信息:(代码匿名):

    GET /oauth/access_token?client_id=xxxxx&redirect_uri=xxxxx&client_secret=xxxx&code=xxx HTTP/1.1 连接:关闭 主持人:graph.facebook.com HTTP/1.1 200 正常 缓存控制:私有、无缓存、无存储、必须重新验证 内容类型:文本/纯文本;字符集=UTF-8 过期:2000 年 1 月 1 日星期六 00:00:00 GMT Pragma:无缓存 X-FB-修订版:401390 X-FB-服务器:10.42.17.21 连接:关闭 日期:格林威治标准时间 2011 年 7 月 6 日星期三 10:38:11 内容长度:122 access_token=xxxx&expires=4909 GET /me?access_token=xxxx HTTP/1.1 连接:关闭 主持人:graph.facebook.com HTTP/1.1 200 正常 缓存控制:私有、无缓存、无存储、必须重新验证 内容类型:文本/javascript;字符集=UTF-8 ETag:“7cb6efb98ba5972a9b5090dc2e517fe14d12cb04” 过期:2000 年 1 月 1 日星期六 00:00:00 GMT P3P:CP=\"Facebook 没有 P3P 政策。在此处了解原因:http://fb.me/p3p\" Pragma:无缓存 X-FB-修订版:401390 设置 Cookie:datr=aTsUTlxHtaaaK67aCdYmQbCO;过期=格林威治标准时间 2013 年 7 月 5 日星期五 10:39:37;路径=/;域=.facebook.com; httponly X-FB-服务器:10.32.3.116 连接:关闭 日期:格林威治标准时间 2011 年 7 月 6 日星期三 10:39:37 内容长度:5 错误的

    【讨论】:

      【解决方案2】:

      我已从页面设置中删除了“默认”国家/地区限制,并且数据通过 Graph API 正常。最好知道它为什么会影响 api 请求。

      【讨论】:

        【解决方案3】:

        我认为您的登录部分有问题。

        如果您使用的是 Javascript SDK:

        试试这个console.dir(FB.getSession());

        如果您使用的是 PHP SDK: 然后尝试:

        $session = $facebook->getSession();
        print_r($session);
        

        如果您获得正确的会话,请在控制台中检查。

        http://graph.facebook.com/me 始终可用,除非您已登录。它甚至不需要任何额外的权限。

        【讨论】:

          【解决方案4】:

          从页面设置中删除任何年龄和/或国家/地区限制。

          【讨论】:

            猜你喜欢
            • 2012-06-11
            • 2018-09-22
            • 2020-07-19
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2011-08-12
            • 1970-01-01
            相关资源
            最近更新 更多