在时区迁移后,FQL无法返回事件数据

时间:2012-08-27 10:11:12

标签: timezone facebook-fql

正如here所述,在时区迁移之后,这些更改适用

之前' events_timezone'迁移:

  • start_time和end_time字段是太平洋时间的UNIX时间戳。
  • 示例:' 1341453600'代表2012年7月4日晚上7点。
  • 始终定义了end_time。

' events_timezone'迁移:

  • start_time和end_time字段是ISO-8601格式的字符串。
  • 如果没有指定,则
  • end_time可能为null。

我使用以下查询来查询用户社交网络中发生的每个事件的结束时间。

SELECT eid, end_time FROM event WHERE eid IN (SELECT eid FROM event_member WHERE start_time > '2012-08-27' AND uid IN (SELECT uid FROM user WHERE uid = me() OR uid IN (SELECT uid2 FROM friend WHERE uid1 = me()))) LIMIT 5000.

此查询在时区迁移之前有效,但无法在启用时区迁移的情况下返回任何数据。我非常怀疑这是因为至少有一个事件的end_time为null。

我如何克服这个问题,并为大多数事件获取end_dates? 我不介意为一两个事件设置一个空值,但我希望我的数据尽可能准确。

由于

1 个答案:

答案 0 :(得分:0)

似乎添加了一个简单的

AND end_time != ''

做了这个伎俩

现在代码

SELECT eid, end_time FROM event WHERE eid IN (SELECT eid FROM event_member WHERE start_time > '2012-08-27' AND uid IN (SELECT uid FROM user WHERE uid = me() OR uid IN (SELECT uid2 FROM friend WHERE uid1 = me()))) AND end_time != '' LIMIT 5000

然而,我现在的事件仍然比以前少。为了获得相同的结果,我将不得不编写第二个查询来获取没有结束时间的事件