0

我正在为我的教会设计一个移动网站,我想在网站上发布我教会的 Facebook 状态更新。我尝试了 Facebook like 框,但我发现它的功能有限,并且在移动网站上效果不佳。

然后我发现了 Facebook 的 Graph API。我在我的网站上找到了一个 PHP 脚本(http://stackoverflow.com/questions/9373645/can-you-get-a-public-facebook-pages-feed-using-graph-api-without-asking-a -user),然后我在 Facebook 上创建了一个应用程序。使用 Facebook 的 Graph API Express,我正在尝试自定义输出,因此我只获取页面的状态更新和时间戳。

例如,我尝试了 https://graph.facebook.com/[profile ID]/posts。但是,这包括我发布图片和创建活动的时间;我只想要状态更新。有什么方法可以通过将“类型”指定为“状态”来使用 Graph API 来限制帖子?我无法让它工作。

理想情况下,我希望代码能够获取我的教会 Facebook 页面的状态更新,尤其是“消息”和“创建时间”字段,并且我希望将结果限制为 10。

如果有更好的方法来做到这一点,请告诉我。我是这方面的新手,我基本上只是想找到实现这一点的代码。

4

1 回答 1

1

有什么方法可以通过将“类型”指定为“状态”来使用 Graph API 来限制帖子?

Graph API 包含一个“状态”端点作为用户对象的一部分。它的访问方式与“posts”端点类似:

https://graph.facebook.com/[profile ID]/statuses

要将结果限制为仅 10 个状态,您可以在 URL 中添加“限制”参数:

https://graph.facebook.com/[profile ID]/statuses?limit=10

例如,facebook.com/boo使用应用程序访问令牌的 Boo 页面。

<?php
$access_token = '1111111111|2Cha_1-n5';
$graph_url = "https://graph.facebook.com/Boo/statuses?limit=10&access_token=" 
    . $access_token;
$page_posts = json_decode(file_get_contents($graph_url), true);

foreach($page_posts['data'] as $post){
    $message = $post['message'];
    $post_time = $post['created_time'];
}

echo $message .' '. $post_time;
?>

有关过滤 API 输出的此方法和其他方法的更多信息,请参阅Graph API 的分页文档

于 2012-12-27T03:42:12.313 回答