我在python中创建了一个脚本,用于解析ICS文件,然后将其上传到Google。尽管效果不是很好,但效果很好。现在要做的就是删除所有事件并插入新事件。这样做是因为ICS文件每2小时重新生成一次,并且每次都有新的uid。所以我想做的是查看事件名称+ dateTime是否已经与在线内容匹配。
如果在线,则应查看是否需要更新;如果ICS文件中的事件不在线,则应将其插入;如果该事件在线,但现在不在ICS文件中,则应将其从google中删除< / p>
我尝试了不同类型的循环,但到目前为止还没有一个(在这里要写很多)
gcal_events_result = service.events().list(calendarId=calendar_id, singleEvents=True, orderBy='startTime').execute()
gcal_events = gcal_events_result.get('items', [])
if not gcal_events:
print('No upcoming events found.')
for event in events:
try:
time.sleep(API_SLEEP_TIME)
service.events().insert(calendarId=calendar_id, body=event).execute()
except:
pass
else:
print('verwijderen')
for gcal_event in gcal_events:
for event in events:
eid = gcal_event['id']
gname = gcal_event['summary'] + gcal_event['start']['dateTime']
iname = event['summary'] + event['start']['dateTime']
if gname in iname:
print('now it should update/insert the event')
else:
print('now it should remove the event since it is not in the ICS file anymore')
(cut for better readability)
它只是不想搜索名称:(