4

我正在尝试查询帐户的广告组统计 API 以获取一整天的数据。

Facebook 文档建议指定与 ad_account 时区相关的开始和结束日期以及时间(以 UTC 为单位),如以下示例所示:

1) 太平洋时间(2012 年 12 月 8 日):

/adgroupstats?start_time=2012-12-08T08:00:00&end_time=2012-12-09T08:00:00&
stats_mode=with_delivery&include_deleted=true&access_token=

2) 夏令时(2012 年 8 月 8 日):

/adgroupstats?start_time=2012-08-08T07:00:00&end_time=2012-08-09T07:00:00
&stats_mode=with_delivery&include_deleted=true&access_token=

我正在寻找一种更好的方法来解释夏令时,所以我想知道是否可以选择完全排除时间,因为我刚刚过了一整天。

在测试中,我发现以下返回与选项 2 相同的结果,但我想知道这是否是一种可靠的方法,因为它没有记录:

/adgroupstats?start_time=2012-08-08T00:00:00&end_time=2012-08-09T00:00:00&
stats_mode=with_delivery&include_deleted=true&access_token=
4

2 回答 2

1

您必须提供开始和结束时间。否则将无法知道您想要哪一天的统计数据。

请参阅统计文档的“查询唯一统计信息” 。

我引用“注意:由于时间以 UTC 表示,您必须在请求中手动调整夏令时”

因此,解决方案应该是如何对您的请求进行编程以调整 DST 的开始/结束时间。

如果您使用的是 PHP,请参阅: 如何在 PHP 中自动检测夏令时?

或: PHP 夏令时检测

于 2013-02-16T15:30:05.283 回答
1

所以回答我自己的问题 - 在最新的 FB API 更新后,不再使用时间戳部分......

作为夏令时问题的解决方法 - 在我的代码中,我在一天内调用 /stats api(使开始日期和结束日期相同并省略时间部分):

/stats?start_time=2012-08-01T00:00:00&end_time=2012-08-01T00:00:00

我检索此调用的结果并查看 Facebook 返回的时间,以确定 FB 是否针对客户夏令时调整了此查询。

FB返回:“start_time”:“2012-07-31T07:00:00+0000”,

然后我可以用正确的时间查询 /adgroupstats api:

/adgroupstats?start_time=2012-08-01T07:00:00&end_time=2012-08-02T07:00:00

注意:/adgroupstats api 似乎没有返回 FB 调整后的开始时间,所以我使用 /stats api 作为解决方法

于 2013-03-01T19:16:44.297 回答