【问题标题】:Cant get facebook date range working for events in ruby/koala无法让 facebook 日期范围适用于 ruby​​/koala 中的事件
【发布时间】:2017-10-29 12:41:03
【问题描述】:

我正在使用 ruby​​ koala facebook graph API gem 来检索事件,但不能使用日期范围来限制事件。我似乎得到了所有的事件(即使是已经发生的事件)。我想要做的是让事件发生在接下来的 200 天。我正在使用以下(红宝石)代码:

 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 默认限制)以获取所有事件。

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

【问题讨论】:

    标签: ruby facebook facebook-graph-api koala


    【解决方案1】:

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

    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

    【讨论】:

      【解决方案2】:

      根据文档,我认为您不能请求所有事件,您只能使用/{event-id} 像这样example 选择一个事件,或者您可以获取用户的事件,但您需要向他询问根据许可 permissions.

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

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-03-09
        • 1970-01-01
        • 2023-02-08
        • 1970-01-01
        • 2012-01-05
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多