Python ExchangeLib 更新日历项目 reminder_is_set
Python ExchangeLib Update Calendar Item reminder_is_set
全部,
我是 Python 的新手,我在更新日历项目的 reminder_is_set
属性 时遇到问题。我正在尝试获取现在和未来 7 天的日历项目并关闭提醒。
我可以很好地获取视图中的日历项目。我可以很好地列举这些项目。我似乎无法弄清楚如何更新值并保存每个项目。我查看了示例并查看了批量更新示例,但我没有看到在提取和批量更新调用之间设置值的位置。任何帮助表示赞赏。
calendar_items = account.calendar.view(start=startDate, end=currentDateTime)
calendar_ids = [(i.id, i.changekey) for i in calendar_items]
items_iter = account.fetch(ids=calendar_ids, only_fields='reminder_is_set')
for item in items_iter:
item.reminder_is_set = False
updated_ids = account.bulk_update(items=[(i, ('reminder_is_set')) for i in calendar_items])
主要问题是您的更改在 items_iter
中,但您使用 calendar_items
调用 bulk_update()
而没有更改。
这是一个应该有效的示例:
update_pairs = []
for item in account.calendar\
.view(start=startDate, end=currentDateTime)\
.only('reminder_is_set'):
if item.reminder_is_set:
item.reminder_is_set = False
update_pairs.append((item, ('reminder_is_set',)))
updated_ids = account.bulk_update(items=update_pairs)
全部,
我是 Python 的新手,我在更新日历项目的 reminder_is_set
属性 时遇到问题。我正在尝试获取现在和未来 7 天的日历项目并关闭提醒。
我可以很好地获取视图中的日历项目。我可以很好地列举这些项目。我似乎无法弄清楚如何更新值并保存每个项目。我查看了示例并查看了批量更新示例,但我没有看到在提取和批量更新调用之间设置值的位置。任何帮助表示赞赏。
calendar_items = account.calendar.view(start=startDate, end=currentDateTime)
calendar_ids = [(i.id, i.changekey) for i in calendar_items]
items_iter = account.fetch(ids=calendar_ids, only_fields='reminder_is_set')
for item in items_iter:
item.reminder_is_set = False
updated_ids = account.bulk_update(items=[(i, ('reminder_is_set')) for i in calendar_items])
主要问题是您的更改在 items_iter
中,但您使用 calendar_items
调用 bulk_update()
而没有更改。
这是一个应该有效的示例:
update_pairs = []
for item in account.calendar\
.view(start=startDate, end=currentDateTime)\
.only('reminder_is_set'):
if item.reminder_is_set:
item.reminder_is_set = False
update_pairs.append((item, ('reminder_is_set',)))
updated_ids = account.bulk_update(items=update_pairs)