1

我们的 Facebook 应用程序存在一个非常重要且紧迫的问题。该应用程序是一项复杂的比赛,其中一个“问题”是用户是否有可能将消息发布到他们的墙上。然后,该应用程序将计算此特定墙贴获得了多少 LIKE。

因此,用户可以进入一个高分页面,其中 - 对于每个用户 - 应用程序将尝试通过调用获取帖子信息,例如

https://graph.facebook.com/[USER_ID]?access_token=[TOKEN_ID]

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

有些事情要记住

  • 我们要求获得 READ_STREAM 的许可
  • 我们有用户 Facebook ID 和 Facebook Post 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);

FB帖子的ID在哪里$postid。 *

4

1 回答 1

0

好吧,您几乎做对了所有事情,但只需要做一个小改动,您正在使用 URI 请求发布信息

'https://graph.facebook.com/'.$postid.'?access_token='.$accessToken

$accessToken您在这里使用的是App Access Token

因此,您需要使用用户的访问令牌来获取他/她的私人帖子,而不是应用访问令牌。最有可能的是,当您从用户那里检索到发布信息时,您可能使用的访问令牌将是用户的访问令牌。

于 2013-04-03T07:31:09.053 回答