gpt4 book ai didi

python - 谷歌日历API不添加事件并且不抛出错误

转载 作者:行者123 更新时间:2023-12-01 06:29:44 25 4
gpt4 key购买 nike

my calendar

the code

The calendar the link takes me to

我试图遵循谷歌添加事件的示例,最初它抛出错误,因为我格式错误,但现在它说该事件正在创建并将我链接到它,但它实际上从未创建该事件。我附加的第三张图片是结果,它有一个小弹出窗口,显示添加事件时出错,奇怪的是,即使我在这两种情况下登录到同一个帐户,我的任何事件都没有显示在日历上,并且只有一本日历。该事件永远不会添加到我的日历中,我尝试多次运行它,即使在事件中使用不同的数据和相同的结果,它说它添加了它,但从未添加过。我失去了任何帮助,非常感谢,如果您需要,请随时询问更多信息!

编辑:这是我的事件创建函数

def createEvent(summary, start_time, end_time, *args, description='', location='', timeZone='America/New_York'):

credentials = get_credentials()
service = discovery.build('calendar', 'v3', credentials=credentials)

event = {
'summary': summary,
'location': location,
'description': description,
'start': {
'dateTime': start_time,
'timeZone': timeZone,
},
'end': {
'dateTime': end_time,
'timeZone': timeZone,
},

'reminders': {
'useDefault': False,
'overrides': [
# {'method': 'email', 'minutes': 24 * 60},
{'method': 'popup', 'minutes': 10},
],
},
}

for arg in args:
event[arg[0]] = arg[1]

event = service.events().insert(calendarId='primary', body=event).execute()
print ('Event created: %s' % (event.get('htmlLink')))

编辑2:这是函数的调用方式以及传入信息的示例

googEvent = ['CSC 385 hw', '20-1-31T22:59:59', '20-1-31T23:59:59', 'EC Mylavarapu']

createEvent(googEvent[0], googEvent[1], googEvent[2], description=googEvent[3])

最佳答案

在研究了你的代码之后,我发现你已经非常接近修复它了。只需要强制日期格式为ISO 8601 。为了实现这一点,我使用了以下 Python 方法:

import datetime

googEvent = ['CSC 385 hw', datetime.datetime.strptime("31/01/2020 22:59:59",
"%d/%m/%Y %H:%M:%S").isoformat(), datetime.datetime.strptime(
"31/01/2020 23:59:59", "%d/%m/%Y %H:%M:%S").isoformat(), 'EC Mylavarapu']
createEvent(googEvent[0], googEvent[1], googEvent[2], description = googEvent[3])

这只是一种方法。每个日期首先使用 strptime() 从人类可读的字符串创建。然后用 isoformat() 转换为 ISO 8601 。如果您需要进一步的帮助,请回复我。

关于python - 谷歌日历API不添加事件并且不抛出错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59960045/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com