python - 在 python 的 Windows 上,可能使用 Outlook API,如何从用户的较小登录名获取用户的全名?

标签 python windows outlook pywin32

在工作中,我们使用简短的登录名,例如hastingsg,但 Outlook 和我相信 Windows 系统的其他部分也可以访问更长的名称,例如杰夫·黑斯廷斯。

在 cpython(不是 IronPython)中,如果我有较短的登录名,我怎样才能得到较长的全名?我有 pywin32ExchangeCDO安装。

最佳答案

通过 pywin32 的 COM 部分,您需要获取 Outlook 的应用程序对象,并从中获取其属性 Session,它为您提供 Namespace对象(当使用唯一支持的参数值 'MAPI' 调用时,GetNamespace 方法也应该用于相同的目的)。您可以从那里使用 Accounts 属性获取 Accounts对象,这是一个典型的 COM 集合——可通过 Item 索引到其 Count。你遍历它并检查每个 Account object:每个都有两个感兴趣的属性——UserName(要检查是否与“较短的登录名”相等的字符串)和 DisplayName——字符串你想要的。

是的,这是令人难以置信的冗长和令人费解的,但是,对于 MS 应用程序提供的 COM 接口(interface)的类(class)来说,这是正常的。据我所知,在最近的 Outlook 版本中可能有更精简的方式——这是已经使用了很长时间的漫长而粗糙的方式(这些天我什至没有方便的 Windows 安装来检查它并编写 Python为你...!-)

关于python - 在 python 的 Windows 上,可能使用 Outlook API,如何从用户的较小登录名获取用户的全名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1720077/

相关文章:

python - Pandas irow() 自动将 int 转换为 float

java - 如何运行 Python 解释器并使用 Java 获取其输出?

windows - 需要在 exe 中重定位

encoding - Outlook 2003/2010 主题编码

outlook - 从 Outlook 发送到 Gmail 时为 HTML 电子邮件添加的额外空间

python - NLP - 负采样 - 如何从噪声分布中提取负样本?

python - 是否有一种 pythonic 方法可以跳过子类方法的装饰?

java - Windows 上的 "Temporary Internet Files"文件夹

windows - 在 Windows 中的 Git bash 中全局运行 shell 脚本

html - Mailchimp Outlook 条件 CSS 未生效