“大页面”没有错。只是“巨大的页面”有很多来自粉丝的帖子和分享。实际上,该stream
表提供了页面的所有活动。
流活动的type
时间将是null
内容来自用户的时间。当它来自页面所有者时,它将是一个 int。请参阅https://developers.facebook.com/docs/reference/fql/stream/type
上的字段说明。
您可能会得到 a null
as a的原因like count
是您遇到了一个将can_like
orcan_comment
字段设置为的帖子false
。这些帖子不能被点赞或评论,因为它们出现在页面之外(即在用户时间线或特定网站上),并且它们的所有者不允许公开点赞或评论(即使公开可见)。如果您要在页面流中找到此类活动,是因为他们在消息或照片中标记了该页面。
编辑以回答您的第一条评论。
问题:为什么以下查询不返回页面所有者的帖子:
SELECT actor_id, message
FROM stream
WHERE source_id = 40796308305
AND actor_id = 40796308305
让我们看看这个查询可以返回多少结果:
SELECT actor_id, message
FROM stream
WHERE source_id = 40796308305
好的,我们得到 17 个结果。为什么是17?我不知道。
When you add AND actor_id = 40796308305
to your request, it will checks among these 17 results which ones have 40796308305
as an actor_id
.
Answer? None!
Because it only checks the 17 first results, you'll have to indicate a LIMIT
:
SELECT actor_id, message
FROM stream
WHERE source_id = 40796308305
AND actor_id = 40796308305
LIMIT 100
And there you get what you want.
This is one of the Facebook API's subtlety. Documented here: https://developers.facebook.com/blog/post/478/