Facebook应用程序 - 无法检索用户Facebook帖子信息

时间:2013-04-02 06:05:44

标签: facebook facebook-graph-api facebook-javascript-sdk

我们的Facebook应用程序存在一个非常重要且紧迫的问题。该应用程序是一个复杂的竞争,其中一个“问题”是用户可以将消息发布到他们的墙上。然后该应用程序将计算此特定墙帖所获得的LIKES数量。

因此,用户可以进入高分页面 - 对于每个用户 - 应用程序将尝试通过类似

的调用获取帖子信息
https://graph.facebook.com/[USER_ID]?access_token=[TOKEN_ID]

最大的问题是,对于大多数用户来说,应用程序无法获得后期信息。我们得到一个“不支持的获取请求”。对于一些用户,它工作正常。我会说大约20%的工作正常。

要记住的一些事情

  • 我们要求获得READ_STREAM的许可
  • 我们拥有用户的Facebook ID和Facebook帖子ID(适用于所有人) 条目 - 也是那些返回“不支持.....”的人)所以我们这一切似乎都很好。

那么问题可能出在这里?我们知道可能存在许多问题,例如用户阻止应用程序,私人/公共设置等等。但是,大约80%的用户将拥有这些设置似乎很奇怪。我们忘记了什么或做错了吗?

如果您对上述内容有任何见解,请听听。我们现在非常绝望,因为我们目前正在运行一个不起作用的高分,我们想知道它是否会正常运作。

代码示例:

$facebook = new Facebook(array(
        'appId' => $app_id,
        'secret' => $app_secret,
        'cookie' => true
    ));

$accessToken = $facebook->getAccessToken();
$facebook->setAccessToken($accessToken);
$post = json_decode(file_get_contents('https://graph.facebook.com/'.$postid.'?access_token='.$accessToken), true);

其中$postid是FB帖子的ID。*

1 个答案:

答案 0 :(得分:0)

嗯,你做的大部分都是正确的,但只需要一个小的改动,你要求用URI

发布信息
'https://graph.facebook.com/'.$postid.'?access_token='.$accessToken

您在这里使用的$accessTokenApp Access Token

因此,您需要使用用户的访问令牌来获取他/她的私人帖子,而不是App Access Token。很可能当你从用户那里检索过帖子信息时你可能使用的访问令牌就是用户的访问令牌。