使用Facebook Graph API回溯帖子

时间:2013-12-18 04:21:40

标签: facebook facebook-graph-api

当回溯帖子,并以ISO格式提供backdated_time参数作为UTC时,API会提取参数并创建帖子,但帖子的日期时间与提供的原始UTC时间戳明显不同。 例如: 对于帖子回溯为2013-12-18T00:53 + 0000 Facebook生成的帖子是19小时关闭因此生成的UTC时间戳将是2013-12-17T05:53 + 0000 为了更清楚:

  • 当地时间(UTC + 11):2013-12-18T11:53 + 1100
  • 发布到FB(UTC + 00):2013-12-18T00:53 + 0000
  • 导致FB帖子:2013-12-17T16:53 + 1100 (假设FB转换到我当地的时区,就像其他人一样 (帖子)

任何有关变通方法的帮助都将不胜感激!

2 个答案:

答案 0 :(得分:3)

这是Facebook Graph API中的一个错误。 Facebook似乎在没有(不能)时区的时间进行时区转换。它似乎与美国太平洋当地时间相关(目前标准时间= UTC - 0800)。

我在美国CST(UTC-0600),所以我提交的时间总是两个小时。当您在悉尼时,您将在夏季时间和太平洋标准时间(UTC-0800)相隔19小时。请注意,当美国太平洋时区在3月切换到夏季时,偏移量将会发生变化。当你回到四月的标准时间时,它会再次改变。 (我没有那个问题,因为我改变标准/日光与PT同步。)还要注意Facebook在此期间有责任修复它。 (如果他们很聪明,他们会更改 backdated_time 参数的名称,并继续支持我们这些正在解决该错误的人。)

更简洁地说:偏移差异是指您帐户设置的当地时间与美国太平洋时区当地时间之间的秒数,并根据标准和夏季时间班次进行调整。

您可以通过查看页面中的HTML来确认这一点。在时间戳中,您将看到一些显示其纪元时间戳的HTML,这与您提交的纪元时间不同。就我而言,我提交的值为“1391749200”,而HTML则显示两小时前的值“1391742000”:

<abbr title="Thursday, February 6, 2014 at 9:00pm" data-utime="1391742000" class="timestamp livetimestamp">

但是,在设置 scheduled_publish_time (未来)值时,我没有看到此问题。

答案 1 :(得分:0)

使用页面标记发布。使用 page 令牌,我得到正确的UTC时间,帖子显示调整到我的时区(UTC-6,US Central)Tom