Facebook Graph API可让您获取家庭的JSON表示(新闻Feed)&饲料(墙)。
如何获取我的Facebook应用程序发布的帖子?
答案 0 :(得分:11)
Facebook通过传递me/home
参数,添加了对不使用FQL过滤filter
帖子的支持。
例如,只需获取照片即可:
me/home?filter=app_2305272732
完整文档在此处:http://developers.facebook.com/docs/reference/api/user/#home
答案 1 :(得分:2)
您现在可以使用Facebook Query Language (FQL)(基本网址:https://graph.facebook.com
)运行Facebook Graph API次查询。
假设您的应用程序是Twitter。 Twitter的Facebook应用程序ID为2231777543。
我在@danontheline's answer的帮助下想出了下面的FQL查询,并仔细阅读了FQL stream上的Facebook文档。 FQL stream_filter
以下摘录特别相关:
如果您从
filter_key
FQL表中指定stream_filter
或 多个用户,返回的结果将像用户的主页一样 新闻提要。如果只有一个用户被指定为source_id,那么你将会这样做 接收用户或页面的个人资料视图。你可以过滤这些 个人资料通过指定filter_key
'其他人'来查看帖子(仅返回 由指定用户以外的其他人发布的帖子或“所有者” (仅返回指定用户发布的帖子)。个人资料视图, 与主页视图不同,返回数据库中的旧数据。在 在页面的情况下,个人资料视图还包括粉丝的帖子。
GET /fql?q=SELECT post_id, actor_id, message, app_id, attribution FROM stream WHERE filter_key = 'app_2231777543'
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
,隐私等而有所不同)。您可以通过将流表的其他列添加到上面的查询和/或通过向上面的FQL流查询返回的eache GET /{post_id}
向post_id
发出另一个Graph API请求来查找有关每个帖子的更多信息。
答案 2 :(得分:1)
Afaik使用 图谱API无法实现。但您也可以使用FQL语句来检索墙/ Feed。使用这种技术,您可以将其重新绑定到一个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,您可以轻松地将其转换为JSON格式或您希望获得结果的任何其他表示形式!
正如您可能正在使用PHP处理整个事情一样,您也可以使用json数组,将其解析为数组并使用appID的键过滤数组。