Facebook Graph API允许获取home (News Feed) & feed (Wall)的JSON表示。
我如何才能获得我的Facebook应用程序发布的帖子?
发布于 2011-10-27 15:11:35
现在,您可以使用Facebook Graph API (基URL:https://graph.facebook.com)运行Facebook Query Language (FQL)查询。
假设您的应用程序是Twitter。Twitter的Facebook应用程序ID是2231777543。
在@danontheline's answer的帮助下,通过仔细阅读FQL stream & FQL stream_filter上的文档,我想出了下面的FQL查询。
下面的摘录特别中肯:
如果您从
stream_filterFQL表或多个用户中指定一个filter_key,则返回的结果将类似于用户的主页新闻提要。如果只有一个用户被指定为source_id,您将收到该用户或页面的纵断面图。您可以通过指定filter_key‘other’(仅返回由指定用户以外的人发布的帖子)或'owner‘(仅返回由指定用户发布的帖子)来过滤这些纵断面图帖子。与主页视图不同,配置文件视图从我们的数据库返回较旧的数据。在页面的情况下,个人资料视图还包括粉丝的帖子。
Facebook新闻提要上的Twitter推文
GET /fql?q=SELECT post_id, actor_id, message, app_id, attribution FROM stream WHERE filter_key = 'app_2231777543'Facebook墙上的Twitter推文
GET /fql?q=SELECT post_id, actor_id, message, app_id, attribution FROM stream WHERE source_id = me() AND app_id = '2231777543' LIMIT 1000使用Facebook Graph API Explorer运行这些查询将返回Facebook Graph API post对象(结果集将根据access_token、隐私等的不同而有所不同)。您可以通过将流表的其他列添加到上面的查询中和/或简单地向GET /{post_id}发出另一个Graph API请求,以获取由上面的FQL流查询返回的每个post_id,从而了解有关每个帖子的更多信息。
发布于 2012-01-16 06:59:12
Facebook通过传递filter参数增加了对不使用FQL过滤me/home帖子的支持。
例如,要只获取照片,您可以这样做:me/home?filter=app_2305272732
完整的文档在这里:http://developers.facebook.com/docs/reference/api/user/#home
发布于 2011-10-27 09:31:52
Afaik仅使用Graph API是不可能的。但是您也可以只使用FQL语句来检索墙/提要。使用此技术,您可以将其重写为由一个actor_id发布的帖子(在本例中应为您的应用程序ID ):
SELECT post_id, target_id, message FROM stream WHERE filter_key in (SELECT filter_key FROM stream_filter WHERE uid=me() AND type='newsfeed') AND is_hidden = 0 AND actor_id = 'MattDiPasqualesAppID'这里的问题是,它不会返回JSON,而是返回结果的XML表示。使用phps,您可以轻松地将其转换为DOM class格式或任何其他您想要的结果表示!
因为无论如何您都可以使用PHP来处理整个问题,所以您也可以只获取json数组,将其解析为一个数组,并使用appID的键过滤该数组。
https://stackoverflow.com/questions/7910725
复制相似问题