【问题标题】:Facebook graph API: Event timezone, timeFacebook 图形 API:事件时区、时间
【发布时间】:2014-02-15 04:31:14
【问题描述】:

我目前无法通过 Facebook 的图形 API 获取事件的正确时间。有些事件显示正确的时间,有些则没有。即使我错误地计算了时区,这对我来说也没有意义。

例如,我有以下三个事件:“Brunch”、“Champions League finale”和“Pfingst-Tanz”。这就是图形 API 所返回的:

{
   "data": [
      {
         "name": "Pfingst-Tanz",
         "start_time": "2012-05-27T10:00:00",
         "end_time": "2012-05-27T14:00:00",
         "timezone": "Europe/Berlin",
         "location": "...",
         "id": "..."
      },
      {
         "name": "Championsleague Finale",
         "start_time": "2012-05-19T11:45:00",
         "end_time": "2012-05-19T14:45:00",
         "timezone": "Europe/Berlin",
         "location": "...",
         "id": "..."
      },
      {
         "name": "Muttertagsbrunch",
         "start_time": "2012-05-13T10:00:00",
         "end_time": "2012-05-13T14:00:00",
         "location": "...",
         "id": "..."
      }
   ],
   "paging": { … }
}

在 Facebook 页面上显示:

  • Pfingst-Tanz 19:00(下午 7:00)
  • 欧冠决赛 20:45(晚上 8:45)
  • 早午餐 10:00(上午 10:00)

结果:

  • Pfingst-Tanz:我的应用中的 Facebook 页面正确、API 错误或 TZ 错误
  • (欧冠决赛:不知道,没关系)
  • 早午餐:Facebook 页面和 API 正确且相同

这只是彼此不对应。据我了解,要么全错要么没有错,但不仅仅是 1/3 或 2/3 事件。有没有人有想法,还是我太盲目了,看不到什么东西?

【问题讨论】:

    标签: ios facebook events facebook-graph-api


    【解决方案1】:

    您的“早午餐”事件不包含时区,因此无法将其调整为用户的本地时区,我假设 Facebook 正在这样做。

    我不清楚start_time 和end_time 值是表示本地 开始/结束时间(在给定时区中)还是UTC 开始/结束时间,但这应该很容易根据数据(和文档,希望如此)来解决。我怀疑指定时区时是 UTC 开始/结束,否则是 local 开始/结束。

    【讨论】:

    • 啊,我没注意到。非常感谢!似乎只有在我现在在应用程序和 fb 页面中都保留 TZ 时才正确,因为我根本没有在我的应用程序中考虑它。
    • 只是为了确保所有关于此问题的信息:如果在 Facebook 上创建活动时指定了时区,则 Graph API 将重新计算日期/时间以反映太平洋标准时间 (PST)。在 FB 方面不是一个非常优雅的解决方案,但我认为他们现在必须坚持下去。然后,使用 Graph API 的开发人员必须考虑到 PST 加载事件,然后通过将 PST 的差异添加到他自己的时区来重新计算。但是,请记住,只有在设置了 tz 时才会这样。未设置 tz 时,Graph API 不会重新计算。
    • @arnekolja:真的 - 它对所有事情都使用 PST?啊! (我假设它实际上使用太平洋时间,根据一年中的时间是标准时间还是日光?)
    • 是的,我也揉了揉眼睛。在此处查看 start_time 的描述:developers.facebook.com/docs/reference/api/event - 编辑:PT,不知道太平洋时间有夏令时,抱歉 :-)
    • @arnekolja:哇。这是一个非常糟糕的 API 设计。很好地追踪它! (我感兴趣的是“不推荐”指定时区 - 有些事件自然在时区中,而有些则不是。不应该以一种或另一种方式推荐......)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多