我使用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默认限制)以获取所有事件。
我似乎得到了所有事件,包括过去。
答案 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以查看所需的日期格式,希望这会有所帮助。