无法获得facebook日期范围,适用于红宝石/考拉的活动

时间:2017-10-29 12:41:04

标签: ruby facebook facebook-graph-api koala

我使用ruby koala facebook graph API gem来检索事件,但不能使用日期范围限制事件。我似乎得到了所有事件(甚至发生过的事件)。我要做的是接下来的200天获取活动。我使用以下(ruby)代码:

 Koala.config.api_version = 'v2.10'
 oauth = Koala::Facebook::OAuth.new app_id, app_secret
 graph = Koala::Facebook::API.new oauth.get_app_access_token

 from_date = Date.today
 to_date   = from_date + 200

 fb_events = graph.get_object( fb_venue["url_listings"] + "?time_range={\"since\":#{from_date}, \"until\":#{to_date}" )

然后我使用'fb_events.next_page'立即获取事件25(facebook默认限制)以获取所有事件。

我似乎得到了所有事件,包括过去。

2 个答案:

答案 0 :(得分:0)

您确定#get_object方法想要一个类似的查询字符串吗?根据文档[1],您似乎应该传递您的对象ID(我假设在fb_venue ['url_listings']中作为第一个arg,然后将后续arg中的元数据作为哈希。所以我'尝试类似的事情:

fb_events = graph.get_object(fb_venue['url_listings'], 
    {since: from_date, until: to_date})

...根据FB期望的键/嵌套结构。

修改:忘记了文档链接。

[1] -  http://www.rubydoc.info/github/arsduo/koala/Koala%2FFacebook%2FGraphAPIMethods%3Aget_object

答案 1 :(得分:0)

根据文档,我不认为您可以请求所有活动,您只能使用/{event-id}这样的example来选择活动,或者您可以获得用户'事件但你需要根据他的要求征得他的许可 permissions

  

user_events添加到您允许用户使用的范围列表中。

当用户使用Facebook注册到您的应用程序时,它将获得他的活动的许可。

之后使用graph.get_object({facebook-user-id} + '/events'),您将获得25个事件作为默认值,您可以将{limit: 5}作为第二个参数添加到get_object函数中,您可以使用{{ 1}}和until但它们应该在since中查看this以查看所需的日期格式,希望这会有所帮助。