如何在Twitter Ads Python SDK中调整日期时间输入?

问题描述 投票:0回答:1

帐户所在的时区是以色列,最近我们更改了夏令时,时钟倒退了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进行提取。

python-3.x twitter
1个回答
0
投票

尝试获取昨天的数据时,我遇到了同样的问题。在此之前完美运行

© www.soinside.com 2019 - 2024. All rights reserved.