Facebook API - 带有帖子的新闻提要

时间:2012-03-05 23:37:13

标签: facebook facebook-graph-api

我使用Facebook API获取用户的新闻源并在页面上显示一些数据。但是,我在墙上的帖子遇到了麻烦。 API返回的数据认为墙上帖子是用户发布的“状态”更新,并且数据不包括用于说明墙帖发送给谁的字段。是否可以查询项目以检查它是否是墙贴?或者有没有办法可以收到收件人的姓名?

以下是我用于获取用户新闻Feed的代码:

FB.api('/me/home', function (response) { console.log(response) });

墙上的帖子只会给我message(墙上帖子的内容)和type status。例如:

如果 Oliver John 的墙上写道,说:“嗨”,Facebook给了我:

{
    from: {
        name: "Oliver"
    },
    message: "Hi",
    type: "status"
}

没有什么可以告诉我这是一个墙贴,也不是收件人。结果确实包含了一些其他任意数据,但这些数据都没有帮助(idcreated_time等。)

1 个答案:

答案 0 :(得分:32)

Facebook使这个话题过于混乱。只需在Graph API中阅读有关用户对象的文档,您就会猜到:http://developers.facebook.com/docs/reference/api/user/

/ user / feed 用户的墙。

/ user / home 用户的新闻Feed。

/ user / statuses 用户的状态更新。

为什么他们不能将“wall”/ user / wall和“news feed”/ user / newsfeed“状态更新”作为/ user / statusupdates来制作很简单我永远不会知道!

因此,要获取状态更新列表,请为当前用户执行HTTP Get to http://graph.facebook.com/me/statuses?access_token=ValidUserAccessToken

要获取壁挂流项目列表,请为当前用户执行HTTP Get to http://graph.facebook.com/me/wall?access_token=ValidUserAccessToken

要获取主要Feed项目列表,请为当前用户执行HTTP Get to http://graph.facebook.com/me/home?access_token=ValidUserAccessToken

当您遇到“来自”并且您想知道它是谁时,它是“对”您在拨打/me/....时使用的访问令牌的用户,或者是您使用特定ID {{1}的呼叫然后它将是“to”的用户ID。


另一个想法:从流FQL表对象(developers.facebook.com/docs/reference/fql/stream)中获取完整对象,看看是否有一些信息没有通过Graph对象公开。