如何使用 Python exchangelib 获取 MeetingRequest 的原始接收者?
How to get the original recipient of a MeetingRequest using Python exchangelib?
场景
在我们的场景中,我们有:
- 一个管理员邮箱(manager@xxx.yyy)
- 许多资源邮箱(resource_a@xxx.yyy、resource_b@xxx.yyy...)
资源邮箱已设置,以便将他们的会议请求转发到经理邮箱。管理员将代表资源接受或拒绝。
我们的 python 脚本使用 exchangelib 连接到经理帐户,获取会议请求并根据特定于资源的规则接受或拒绝。
问题
我们的问题是我们无法找到一种方法来了解与 MeetingRequest 相关的资源。
到目前为止我们尝试了什么
to_recipients
字段的值为 manager@xxx.yyy
,因此没有帮助。
author
和 sender
字段的值是创建原始会议的邮箱,因此也无济于事。
我们不能依赖 required_attendees
或 optional_attendees
有两个原因:
- 除资源外,与会者中总是有其他人的电子邮件地址,我们的脚本无法区分资源电子邮件地址和其他电子邮件地址。
- 同一个会议可以有多个资源。在这种情况下,每个资源都会有一个会议请求,每个资源都有与会者中的所有资源。
According to MS doc MeetingRequest
应该有一个 ReceivedRepresenting
字段,这似乎正是我们所需要的。不幸的是,它不存在于 exchangelib MeetingRequest
object 中,尽管它在获取会议请求时来自 EWS 的 XML 响应中(我们可以通过禁用 exchangelib 调试日志记录来看到它)。
<t:ReceivedRepresenting>
<t:Mailbox>
<t:Name>Resource A</t:Name>
<t:EmailAddress>resource_a@xxx.yyy</t:EmailAddress>
<t:RoutingType>SMTP</t:RoutingType>
<t:MailboxType>Mailbox</t:MailboxType>
</t:Mailbox>
</t:ReceivedRepresenting>
有什么想法吗?
知道如何解决这个问题吗?
ReceivedRepresenting
is not mentioned in the EWS documentation on MeetingRequest
您的 MeetingRequest
XML 元素是否包含这样的子元素?如果是,请在 ecederstrand/exchangelib 提出问题,我会实施该字段。
更新:
我已经打开了一个 pull request against EWS docs to have this field added. And committed a change 来支持 exchangelib 中的字段。它在 v4.7.2 中发布。
场景
在我们的场景中,我们有:
- 一个管理员邮箱(manager@xxx.yyy)
- 许多资源邮箱(resource_a@xxx.yyy、resource_b@xxx.yyy...)
资源邮箱已设置,以便将他们的会议请求转发到经理邮箱。管理员将代表资源接受或拒绝。
我们的 python 脚本使用 exchangelib 连接到经理帐户,获取会议请求并根据特定于资源的规则接受或拒绝。
问题
我们的问题是我们无法找到一种方法来了解与 MeetingRequest 相关的资源。
到目前为止我们尝试了什么
to_recipients
字段的值为 manager@xxx.yyy
,因此没有帮助。
author
和 sender
字段的值是创建原始会议的邮箱,因此也无济于事。
我们不能依赖 required_attendees
或 optional_attendees
有两个原因:
- 除资源外,与会者中总是有其他人的电子邮件地址,我们的脚本无法区分资源电子邮件地址和其他电子邮件地址。
- 同一个会议可以有多个资源。在这种情况下,每个资源都会有一个会议请求,每个资源都有与会者中的所有资源。
According to MS doc MeetingRequest
应该有一个 ReceivedRepresenting
字段,这似乎正是我们所需要的。不幸的是,它不存在于 exchangelib MeetingRequest
object 中,尽管它在获取会议请求时来自 EWS 的 XML 响应中(我们可以通过禁用 exchangelib 调试日志记录来看到它)。
<t:ReceivedRepresenting>
<t:Mailbox>
<t:Name>Resource A</t:Name>
<t:EmailAddress>resource_a@xxx.yyy</t:EmailAddress>
<t:RoutingType>SMTP</t:RoutingType>
<t:MailboxType>Mailbox</t:MailboxType>
</t:Mailbox>
</t:ReceivedRepresenting>
有什么想法吗?
知道如何解决这个问题吗?
ReceivedRepresenting
is not mentioned in the EWS documentation on MeetingRequest
您的 MeetingRequest
XML 元素是否包含这样的子元素?如果是,请在 ecederstrand/exchangelib 提出问题,我会实施该字段。
更新: 我已经打开了一个 pull request against EWS docs to have this field added. And committed a change 来支持 exchangelib 中的字段。它在 v4.7.2 中发布。