Расшифровка повторяющихся событий из Facebook Open Graph API?

49
4

Я пытаюсь выяснить, как получить лучшие данные из API Open Open Graph, поскольку они теперь поддерживают повторяющиеся события для страниц профиля, но, похоже, нет никакого способа получить это правильно из их API, поскольку они возвращают начало дата как первый день, когда событие запускается, и дату окончания, как последний день, когда он выполняется. Моя первая попытка состояла в том, чтобы просто проверить, начинаются и заканчиваются ли события в тот же день, и предполагают, что они происходят еженедельно, но, как вы можете видеть на этой странице в Facebook, они фактически позволяют вам устанавливать их в разные дни в разное время! Т.е.: воскресенье 12:00 и среда в 16:00:

https://www.facebook.com/pg/hobbytownewportnews/events

JUL 18:  Micro FPV - Every Tuesday & Saturday (Jun 17 - Dec 16)
JUL 22: Gunpla Build Day - Every Saturday (Jun 17 - Dec 30)
JUL 16: RC Drifting - Every Wednesday & Sunday (Jun 18 - Dec 13)
JUL 20: Pizza & Plastics - Every Thursday (Jun 22 - Dec 28)

Я получаю события, используя этот API:

https://developers.facebook.com/docs/graph-api/reference/page/events/

И вот пример вызова API с использованием API (вам понадобится ваш собственный токен доступа для его выполнения):

https://developers.facebook.com/tools/explorer/145634995501895/?method=GET&path=hobbytownewportnews%2Fevents%3Ftime_filter%3Dupcoming%26fields%3Did%2Cname%2Cend_time%2Cstart_time&version=v2.9

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

{
"data": [
{
"id": "272398049894766",
"name": "Pizza & Plastics - Every Thursday",
"end_time": "2017-12-28T20:00:00-0500",
"start_time": "2017-06-22T16:00:00-0400"
},
{
"id": "334856180266567",
"name": "RC Drifting - Every Wednesday & Sunday",
"end_time": "2017-12-13T20:00:00-0500",
"start_time": "2017-06-18T12:00:00-0400"
},
{
"id": "308995412882009",
"name": "Gunpla Build Day - Every Saturday",
"end_time": "2017-12-30T14:00:00-0500",
"start_time": "2017-06-17T12:00:00-0400"
},
{
"id": "1473270249392907",
"name": "Micro FPV - Every Tuesday & Saturday",
"end_time": "2017-12-16T18:00:00-0500",
"start_time": "2017-06-17T10:00:00-0400"
}
],
}

Есть идеи? Есть ли другой вызов API, чтобы получить этот материал? Уловка я не могу просто предположить, что любое событие, которое охватывает несколько дней, является повторяющимся событием, потому что вы также можете помещать события, которые буквально занимают несколько дней, как этот:

https://www.facebook.com/events/1854268061514839

и ответ, чтобы получить, что из Open Graph API возвращает то, что вы ожидаете, с датой начала и окончания, охватывающей весь набор дней и даже начиная с 8 утра и заканчивая в 8 вечера в последний день.

{
"data": [
{
"id": "1854268061514839",
"name": "2017 ROAR off road electric 8th and 4wd SCT electric Nationals",
"end_time": "2017-07-23T20:00:00-0700",
"start_time": "2017-07-20T08:00:00-0700"
}
],
}

спросил(а) 2017-07-16T20:46:00+03:00 2 года, 7 месяцев назад
1
Решение
62

Вы можете сделать запрос графика API Facebook, указав параметр event_times, запрашивая страницу Facebook, например:

https://graph.facebook.com/v2.10/<pageId>/events?fields=start_time,end_time,event_times

где pageId - это идентификатор страницы в Facebook.

В противном случае вы можете запросить одно событие:

https://graph.facebook.com/v2.10/<eventId>?fields=start_time,end_time,event_times

где eventId - это идентификатор события Facebook.

ответил(а) 2017-09-25T19:32:00+03:00 2 года, 5 месяцев назад
50

"event_times" = массив времен многоэкземплярного события

Добавьте это в свой список полей, а затем обведите результат.

ответил(а) 2017-09-22T19:20:00+03:00 2 года, 5 месяцев назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема