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)