我正在为我的教会设计一个移动网站,我想在网站上发布我教会的Facebook状态更新。我尝试过像Facebook一样的盒子,但我发现它在功能上有限,而且在移动网站上效果不佳。
然后我发现了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] /帖子。但是,这包括我发布图片和创建活动的时间;我只想要状态更新。有没有什么办法可以通过将“类型”指定为“状态”来使用Graph API来限制帖子?我无法让它发挥作用。
理想情况下,我希望代码能够获取我教会Facebook页面的状态更新,特别是“message”和“created_time”字段,我想将结果限制为10。
如果有更好的方法,请告诉我。我是这方面的新手,我基本上只是想找到实现这一目标的代码。
答案 0 :(得分:1)
有什么方法可以通过将“类型”指定为“状态”来使用Graph API来限制帖子吗?
Graph API包含“状态”端点作为the User object的一部分。它的访问方式与“posts”端点类似:
https://graph.facebook.com/[profile ID]/statuses
要将结果限制为仅10种状态,您可以在网址中添加“限制”参数:
https://graph.facebook.com/[profile ID]/statuses?limit=10
例如,使用应用程序访问令牌的Boo facebook.com/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's Pagination documentation。