提问人:Mark N. 提问时间:10/24/2023 最后编辑:Eugene AstafievMark N. 更新时间:10/24/2023 访问量:35
通过 Python 访问的 Outlook
Outlook via Python access
问:
我正在开发一个 Python 脚本来提取我的工作小组的 Outlook 日历信息。我们有 7 个人,我只能看到他们日历约会的高级信息:开始、结束、忙碌状态。对于我想做的事情,这就是我需要看到的所有信息。我想将“外出”日期/时间加载到列表或数据帧中,并在收集数据后能够根据需要使用该数据。
因此,该脚本非常适合我的日历,但在尝试访问团队成员的其他日历时被拒绝。有很多代码可以做到这一点,我的代码也不例外。我想我的问题是权限问题:由于我只能看到基本信息,而看不到其他用户约会的完整详细信息,因此即使我真的只想要公开显示的数据,我是否可以不使用他们的日历项目?下面的代码在“约会”上失败。Sort(“[Start]”) 行...
days = 7
begin = datetime.date.today()
end = begin + datetime.timedelta(days=days)
username = os.getenv("USERNAME")
Outlook = win32com.client.Dispatch("Outlook.Application")
ns = Outlook.GetNamespace("MAPI")
recipient = ns.CreateRecipient(username)
resolved = recipient.Resolve() # checks for username in address book
olFolderCalendar = 9
appointments = ns.GetSharedDefaultFolder(recipient, olFolderCalendar).items
# filtering criteria
appointments.Sort("[Start]")
appointments.IncludeRecurrences = "True"
restriction = "[Start] >= '" + begin.strftime("%m/%d/%Y") \
+ "' AND [End] <= '" + end.strftime("%m/%d/%Y") \
+ "' AND ([BusyStatus] = '3')"
# list of appointments meeting the restriction criteria above
restrictedItems = appointments.Restrict(restriction)
答:
0赞
Eugene Astafiev
10/24/2023
#1
您可以尝试下载共享文件夹以便能够对项目进行排序,有关详细信息,请参阅共享邮箱中的文件夹排序顺序随机更改回来。
此外,还可以考虑使用 ExchangeUser.GetFreeBusy 方法获取一个字符串,该字符串表示从开始日期开始的 30 天内的可用性,从指定日期的午夜开始。ExchangeUser
评论