Не могу получить диапазон дат facebook, работающий для событий в рубине / коала

Я использую рубиновый гем API графа Facebook для получения событий, но не могу ограничить события, используя диапазон дат. Я, кажется, получаю все события (даже те, которые произошли). То, что я пытаюсь сделать, это получить события следующие 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}" )

Затем я получаю события 25 одновременно (ограничение по умолчанию для Facebook), используя fb_events.next_page, чтобы получить их все.

Кажется, я получаю все события, в том числе и прошлое.

2 ответа

В соответствии с документом, я не думаю, что вы можете запросить все события, вы можете выбрать событие только с помощью /{event-id} как этот пример, или вы можете получить события пользователя, но вам нужно будет спросить его разрешения в соответствии с разрешениями.

добавлять user_events в список областей, которые вы разрешаете от пользователя.

Таким образом, когда пользователь регистрируется с помощью Facebook в вашем приложении, он получает разрешение на свои события.

После этого с помощью graph.get_object({facebook-user-id} + '/events') вы получите 25 его событий в качестве значения по умолчанию, и вы можете добавить {limit: 5} в качестве второго параметра к get_object функция, вы можете использовать until а также since но они должны быть в A Unix timestamp посмотрите на это, чтобы увидеть необходимый формат даты, надеюсь, это поможет.

Вы уверены, что #get_object метод хочет строку запроса, как это? Исходя из документов [1], кажется, что вы должны передать свой идентификатор объекта (который, я полагаю, находится в fb_venue['url_listings'] для вас в качестве первого аргумента, а затем метаданные в последующем аргументе в виде хэша. Итак, я ' попробую что-то вроде:

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

Другие вопросы по тегам