我使用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"
}
没有什么可以告诉我这是一个墙贴,也不是收件人。结果确实包含了一些其他任意数据,但这些数据都没有帮助(id
,created_time
等。)
答案 0 :(得分:32)
/ 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对象公开。