首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我无法使用exchangelib读取交换日历

我无法使用exchangelib读取交换日历
EN

Stack Overflow用户
提问于 2019-03-03 08:24:29
回答 1查看 641关注 0票数 1

我很抱歉,我不只是看到我做错了什么(很可能是很多)。我所要做的就是阅读公共日历上的事件。我试着跟上关于使用公共文件夹的讨论,但这对新手来说有点令人困惑。在OpenSuse 15.0上使用Python2.7.x

代码语言:javascript
复制
from exchangelib.folders import Calendar
from exchangelib import Credentials, Account, CalendarItem, UTC_NOW
import datetime
account = Account(...)
account.public_folders_root.refresh()
start = UTC_NOW() - datetime.timedelta(days=7)
print account.public_folders_root.tree()  #this works
x = account.public_folders_root
specificFolder = [item for item in x.walk().get_folders() if item.name == "OC Appointment Calendar"]
leg_folder = Calendar(folder_id = specificFolder[0].id, changekey = specificFolder[0].changekey)
for i in leg_folder.view(start=start, end=start + datetime.timedelta(days=14)):
    print i

testexchange.py", line 15, in <module>
  for i in leg_folder.view(start=start, end=start + datetime.timedelta(days=14)):
File "/usr/lib/python2.7/site-packages/exchangelib/folders.py", line 957, in view
  return FolderCollection(account=self.root.account, folders=[self]).view(*args, **kwargs)

AttributeError: 'NoneType' object has no attribute 'account
EN

回答 1

Stack Overflow用户

发布于 2019-03-04 05:58:21

事实证明,我并没有走得太远。但下面是允许访问约会的代码更改。

代码语言:javascript
复制
#specificFolder = [item for item in x.walk().get_folders() if item.name == "OC Appointment Calendar"]
# I was close in above but a better way to find the folder I was looking for is:
specificFolder = list(account.public_folders_root.glob('**/OC Appointment Calendar'))[0]
# Now I can use view()
for item in specificFolder.view(start=start, end=start + datetime.timedelta(days=14)):
    # item now has all the available data
    print item.mime_content
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54964414

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档