我想建立一个网站,向用户展示他的朋友在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?
使用FQL可能是您的最佳选择。您需要用户的read_stream权限。
您可以使用考拉宝石并运行以下操作:
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时间戳。在您的情况下,代表一天的开始和结束。