如何使用Python格式化Hubspot API的日期值
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用Python格式化Hubspot API的日期值相关的知识,希望对你有一定的参考价值。
我已阅读文档说,要传递Hubspot日期字段的值,您应该将日期格式设置为midnight UTC。但是,我在Python中没有运气。我以为我只是错过了可以得到正确结果的神奇的Python咒语。这是我所拥有的:
from pytz import timezone, utc
from hubspot.crm.contacts import SimplePublicObject,
created_dt = # datetime from sqlalchemy query
utcdt = utc.localize(
datetime(
year=created_dt.year,
month=created_dt.month,
day=created_dt.day
)
)
ts = int(utcdt.timestamp())
props = SimplePublicObjectInput({"last_booking": str(ts)})
return client.crm.companies.basic_api.update(
hs_id, simple_public_object_input=props
)
这将返回此错误:
{"status":"error",
"message":"Property values were not valid: [{"isValid":false,"message":"1570233600 is at 4:10:33.600 UTC, not midnight!"...
}
答案
您是否尝试在日期时间通话中增加小时和分钟数
datetime(
year=created_dt.year,
month=created_dt.month,
day=created_dt.day,
hour=0,
minute=0
)
另一答案
啊,答案就在那里。 Python timestamp
以秒为单位返回时间,HubSpot期望以微秒为单位。我只需要乘以1000:
ts = int(utcdt.timestamp()*1000)
现在看起来不错。
以上是关于如何使用Python格式化Hubspot API的日期值的主要内容,如果未能解决你的问题,请参考以下文章
HubSpot company数据在UI上的展示和通过API方式进行获取
使用SAP open connector调用第三方系统的API
如何修复错误; '错误:引导工具提示需要 Tether (http://github.hubspot.com/tether/)'