2012-10-20 44 views

回答

4

在cpilko的回答中提到的请求,将让你的当前用户的新闻源(即图形API的/我的/ home的当量)。所以我不认为这个答案应该被接受。

至于当前用户的时间轴(即图形API的/我/饲料当量):有没有简单的方法只有一个请求得到这个,因为时间轴包含不同的信息:

  • 它包含当前用户的状态更新。
  • 它包含其他用户定位到当前用户的帖子。
  • 它不会由当前用户针对其他用户,事件等含有帖子
  • 它不包含由既没有消息文本,也不附加照片,链接,或代替当前用户故事。*

*:我不是100%肯定在最后一个,因为这方面的信息很简单。有不同的帖子类型(我还没有看到完整的列表),并且似乎有某种逻辑在时间轴上显示哪些类型,哪些不是。正如我所说,文档很粗略,似乎Facebook不希望你获得与他们完全相同的数据。

现在回答你的问题: 如果你打算提供用户的时间轴作为你的应用体验的一部分,你应该瞄准一个最好的猜测方法。

这里是我找到一个例子是相当接近(但它不会让你的朋友的帖子在你的时间表,但正如我所说:最好的猜测):

SELECT post_id, actor_id, target_id, description, message, attachment, type, permalink 
FROM stream 
WHERE source_id = me() 
AND is_hidden != "true" 
AND (type = 46 OR type = 60 OR type = 65 OR type = 80 OR type = 128 OR type = 247 OR type = 285 OR type = 373) 
LIMIT 100 

顺便说一句,这是文章类型最完整的名单到目前为止,我发现: Where to get a list of ALL facebook stream posts types?

希望这有助于,即使答案固然不是令人鼓舞。 :)

3

FQL中的等效表格是stream。这个查询让你成为活跃用户的新闻提要。

SELECT POST_ID,actor_id,target_id,消息从流WHERE filter_key中(选择filter_key FROM stream_filter其中uid =我()和type = '新闻源')和is_hidden = 0

+0

是的,但我问朋友的墙。但我想它是当你设置source_id = friend_id –

+1

你会改变上述查询为'uid = FRIEND_ID'来获取朋友的新闻。 – cpilko

0

你应该在这条路上

SELECT post_id, created_time, actor_id, target_id, message FROM stream WHERE source_id='SOURCE_ID' AND created_time<1225705644 LIMIT 150 

设置SOURCE_ID与您的朋友的ID。

+0

不,这样它只会发布由你的朋友发布的帖子,而不是他对“新闻源”的看法 – BlackDivine

+0

@BlackDivine提到的问题“为了像graph.facebook.com/user/feed一样”,而不是“为了像你所说的那样获得像graph.facebook.com/user/home一样的内容,所以他要求提供时间轴Feed,而不是新闻源。此外,在http://stackoverflow.com/questions/12992905/is-it-possible-to-get-user-feed-with-fql/16102909?noredirect=1#comment17741954_13014071的评论表明了这一点:“但我是问朋友的墙。“ –

+1

@BlackDivine我不明白为什么答案被接受,因为如果你尝试用'uid = me()'替换'uid = me()',你会得到错误“(#606)where子句中的uid必须是会话用户” FRIEND_ID” –

0

我想你应该尝试以下方法:看看是否有帮助。

SELECT post_id, actor_id, type, permalink, message, created_time, likes, comment_info FROM stream WHERE source_id = me() AND app_id = AppID 

如果您通过应用程序ID,那么它会返回您的朋友提供的只从该应用程序发布的消息。

相关问题