我想构建一个网站,向用户显示他的朋友在Facebook上发布的所有视频,我知道如何为最近的帖子提取新闻,但我不知道如何在特定日期提取所有帖子(从一天开始的所有帖子。)
我使用此FQL调用来提取最近的视频:
SELECT post_id, source_id, actor_id, target_id, message, attachment, permalink, type FROM stream
WHERE source_id IN (SELECT target_id FROM connection WHERE source_id=me() AND is_following=1)
AND is_hidden = 0
AND type = 80
AND strpos(attachment.href, "youtu") >= 0
但我不知道如何将所有视频从当天开始拉到结束......
编辑:
现在我的代码中有你的答案:
@feed = Koala::Facebook::API.new(current_user.token)
to = Time.now.to_i
yest = 1.day.ago.to_i
@feed.fql_query("SELECT post_id, actor_id, target_id, message, likes FROM stream WHERE source_id = me() AND created_time > #{yest} AND created_time < #{to} AND type = 80
AND strpos(attachment.href, "youtu") >= 0")
并且feed变量返回#而不是json,如何从此变量中获取json?
答案 0 :(得分:3)
使用FQL可能是您最好的选择。您将需要用户的read_stream权限。
您可以使用Koala gem并运行以下内容:
require 'koala'
@graph = Koala::Facebook::API.new("YOUR_ACCESS_TOKEN")
@graph.fql_query("SELECT post_id, actor_id, target_id, message FROM stream WHERE source_id = me() AND created_time > START_TIME AND created_time < END_TIME LIMIT 10")
START_TIME
和END_TIME
都应该是unix时间戳。在您的情况下,代表一天的开始和结束。