从Facebook Open Graph API解码循环事件?
我正在努力解决如何从Facebook Open Graph API中获取更好的数据,因为它看起来他们现在支持配置文件页面的周期性事件,但是当他们返回时,似乎没有任何方法可以从API中正确地获取它们开始日期为事件运行的第一天,结束日期为运行的最后一天。我的第一个尝试是简单地检查事件是在同一天开始还是结束,并假设它们是每周发生的,但正如您从Facebook页面上看到的那样,他们实际上允许您在不同的时间将其设置为在多天内发生!即:周日下午12:00和星期三下午4:00:从Facebook Open Graph API解码循环事件?
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(但您需要自己的Access Token来执行它):
以下是我们回复的回复。现在,您可以看到的问题是开始和结束时间,没有数据表明事件是否会重复发生,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"
}
],
}
你可以做一个Facebook的API图形请求指定event_times
参数,查询的Facebook页面,如:
https://graph.facebook.com/v2.10/<pageId>/events?fields=start_time,end_time,event_times
其中pageId
是一个Facebook页面ID。
否则,您可以查询单个事件:
https://graph.facebook.com/v2.10/<eventId>?fields=start_time,end_time,event_times
其中eventId
是Facebook的事件ID。
“event_times” =的多实例事件
次阵列添加到您的字段列表,然后周围的结果循环。
如果这个答案显示*可能会做得如何,这个答案会更有用。现在,它有点稀疏。 –
谢谢!不知道如果我最初错过了它,或者如果他们在我原来的帖子后添加了这个,但我现在看到返回结果集中的这些数据。 –