访问exchangelib中的“其他日历”

2024-04-28 02:05:45 发布

您现在位置:Python中文网/ 问答频道 /正文

我当前正在使用exchangelib连接到Office365 EWS。我目前的情况是,我想访问我们会议室的日历。当我在Outlook中单击“添加文件室”选项时,他们的日历就会显示出来。当我将它们添加到日历视图的“其他日历”部分时,它们也会出现。在

当我试图使用会议室的电子邮件地址作为帐户,然后检查日历时,我得到以下错误:

exchangelib.errors.ErrorFolderNotFound: No useable default Calendar folders

不过,我想我应该通过另一个登录的日历来查看。问题是我似乎不知道如何访问这些日历。我可以访问我自己的没有问题。在

当我看到EWS的C实现时,有一种方法可以搜索文件夹,在那里可以找到其他日历。我在exchangelib上没有看到这样的东西。在

举个例子:

^{pr2}$

结果:

<class 'exchangelib.folders.Calendar'>
<class 'exchangelib.folders.Contacts'>
<class 'exchangelib.folders.Tasks'>
<class 'exchangelib.folders.Messages'>
<class 'exchangelib.folders.Folder'>

“Calendar”选项无法迭代,但“Folder”选项可以。在

for f in account.folders[Folder]:
    print f

结果:

Folder (Conversation Action Settings)
Folder (Conversation History)
Folder (Files)
Folder (Journal)
Folder (Notes)
Folder (Quick Step Settings)
Folder (RSS Feeds)
Folder (Social Activity Notifications)
Folder (Yammer Root)

这些选择似乎都不能满足我的需要。在

如有任何帮助,我们将不胜感激!在

提前谢谢你

编辑

我发现了account.root.get_folders()的魔力。我现在可以看到一个非常大的文件夹列表。然而,我仍然没有看到一个似乎可以用于其他日历。在

我一直在读其他人在C中使用的解决方案,并遇到了这样一条线索:

EWS - Access All Shared Calendars

它们似乎有某种搜索过滤器,但我无法在exchangelib库中找到它。在

然后我发现了另一条线索:

https://social.msdn.microsoft.com/Forums/en-US/2bfe798e-501f-421e-9a9a-76ae7eaf57c8/other-calendars-in-ews?forum=exchangesvrdevelopment

这篇文章讲述了其他日历是如何成为Calendars对象下的文件夹的。但是,当我查询account.calendar.get_folders()时,我返回0个结果。在


Tags: in文件夹getsettings选项accountfoldercalendar
1条回答
网友
1楼 · 发布于 2024-04-28 02:05:45

No useable default Calendar folders错误表示exchangelib无法在帐户的文件夹中找到默认日历文件夹。这可能有很多原因。您仍然可以在Account.folders中找到日历文件夹。在

相关问题 更多 >