Не могу получить диапазон дат 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