帐户所在的时区是以色列,最近我们更改了夏令时,时钟倒退了1个小时。从那时起,我开始收到以下错误。我正在使用Twitter Ads SDK 5.3.0。我不确定如何调整代码。非常感谢您的帮助。
Traceback (most recent call last):
File "/home/adwords_mcc/twitter_ads_api_connector/tw_main_vm.py", line 111, in <module>
date_from, date_to, adgroups, tw_accountObj, campaign_lookup)
File "/home/adwords_mcc/twitter_ads_api_connector/tw_funcs.py", line 160, in processControl
segmented=False
File "/home/adwords_mcc/twitter_ads_api_connector/tw_ads.py", line 204, in getAsyncData
placement=network
File "/home/adwords_mcc/.local/lib/python3.5/site-packages/twitter_ads/resource.py", line 292, in queue_async_stats_job
response = Request(account.client, 'post', resource, params=params).perform()
File "/home/adwords_mcc/.local/lib/python3.5/site-packages/twitter_ads/http.py", line 69, in perform
raise Error.from_response(response)
twitter_ads.error.BadRequest: <BadRequest object at 0x7f1c91239e28 code=400 details=[{'parameter': '', 'code': 'INVALID_TIME_WINDOW', 'message': "Expect time to be midnight in the account's local timezone for day granularity"}]>
用于处理请求的我的输入如下:
我创建一个30天的间隔,如下所示:
[['2019-10-26', '2019-09-27']]
然后我将间隔转换为日期对象,如下所示:
for interval in [['2019-10-26', '2019-09-27']]:
date_from = dt.datetime.strptime(interval[1], "%Y-%m-%d")
date_to = dt.datetime.strptime(interval[0], "%Y-%m-%d") + dt.timedelta(days=1)
print(interval)
print(date_from, date_to)
输出:
['2019-10-26', '2019-09-27']
2019-09-27 00:00:00 2019-10-27 00:00:00
如果我使用以下间隔(昨天之前的天),则代码将成功执行。
[['2019-10-25', '2019-09-26']]
数据处理功能的输入是:
date_from = 2019-09-27 00:00:00
date_to = 2019-10-27 00:00:00
非常感谢您的帮助。请注意,我正在使用python SDK进行提取。
尝试获取昨天的数据时,我遇到了同样的问题。在此之前完美运行