Facebook - 用PHP中的FB API检索最近的帖子

时间:2013-09-06 19:30:41

标签: php facebook facebook-graph-api curl facebook-php-sdk

我正在编写一个脚本,使用Facebook API为特定的Facebook提取最近的Facebook帖子/状态更新。我下载了FB SDK并在FB开发者网站,SO和其他地方进行了搜索,看起来下面的代码应该可以完成我需要的工作。但是,虽然我没有收到错误,但我得到的是NULL结果。

require 'facebook-php-sdk/src/facebook.php';
$facebook = new Facebook(array(
  'appId'  => 'XXXXXXXXXXXX',
  'secret' => 'XXXXXXXXXXXXXXXXXXXXXXXX',
));

$fbApiGetPosts = $facebook->api('***My Name***/feed?limit=5');
var_dump($fbApiGetPosts["data"]);

我已尝试使用我的两个FB帐户(我的个人帐户和我为此项目创建的测试帐户)以及我公司的一个帐户,每次响应为NULL。当我错误拼写帐户名称或使用不存在的名称时,我收到了错误,这似乎表明请求正在某处。

在上面的代码中,我也尝试了var_dump-ing $ fbApiGetPosts,结果也是null

有人可以看到这个谜题的缺失部分吗?

2 个答案:

答案 0 :(得分:0)

我没有使用Facebook SDK,但这是我检索Facebook帖子的方式:

$appId = 'XXXXXXXXXXXX';
$token = 'XXXXXXXXXXXXXXXXXXXXXXXX';

$posts = json_decode(
    file_get_contents('https://graph.facebook.com/' . $appId . '/feed?
        access_token=' . $token
    )
);

var_dump($posts->data);

希望这有帮助!

编辑: 令牌被称为“访问令牌”。 Here are the instructions for obtaining one。您可能会发现Access Token Tool很有帮助,但它更适用于调试现有令牌,然后创建新令牌。

答案 1 :(得分:0)

只需使用PHP SDK:

下载链接:https://developers.facebook.com/docs/php/gettingstarted/

记录您的应用:

$facebook = new Facebook(array('appId'  => 'XXXXX','secret' => 'XXXXX'));
$facebook->setAccessToken('stored access token');

然后:

$fbApiGetPosts = $facebook->api('/me/feed');
print_r($fbApiGetPosts);

以下是图表文档:https://developers.facebook.com/docs/graph-api/reference/

/feed参考:https://developers.facebook.com/docs/graph-api/reference/user/feed/