【问题标题】:How can I filter out private events in a calendar query for Exchange WebDav?如何在 Exchange WebDav 的日历查询中过滤掉私人事件?
【发布时间】:2012-06-21 17:37:46
【问题描述】:

我需要从 Exchange 2003 中的用户日历中提取所有非私有项目。我已经完成了以下工作,它会提取他们的所有项目(包括 Private 字段):

<?xml version="1.0"?>
<g:searchrequest xmlns:g="DAV:" xmlns:mapi="http://schemas.microsoft.com/mapi/">
    <g:sql>
        SELECT "http://schemas.microsoft.com/mapi/Private", "urn:schemas:calendar:uid", "urn:schemas:calendar:location", "urn:schemas:httpmail:subject", "urn:schemas:calendar:dtstart", "urn:schemas:calendar:dtend", "urn:schemas:calendar:busystatus", "urn:schemas:calendar:meetingstatus", "urn:schemas:calendar:instancetype" 
        FROM Scope('SHALLOW TRAVERSAL OF "%s"') 
        WHERE NOT "urn:schemas:calendar:instancetype" = 1 AND "DAV:contentclass" = 'urn:content-classes:appointment' AND "urn:schemas:calendar:dtstart" > '2003/06/01 00:00:00' AND "mapiPrivate" = 0 
        ORDER BY "urn:schemas:calendar:dtstart" ASC
    </g:sql>
</g:searchrequest>

但是,当我尝试将 Private 字段添加到 WHERE 时,我收到 BAD REQUEST 错误作为响应。以下代码是我如何将 Private 字段添加到 WHERE 子句。

<?xml version="1.0"?>
<g:searchrequest xmlns:g="DAV:" xmlns:mapi="http://schemas.microsoft.com/mapi/">
    <g:sql>
        SELECT "http://schemas.microsoft.com/mapi/Private", "urn:schemas:calendar:uid", "urn:schemas:calendar:location", "urn:schemas:httpmail:subject", "urn:schemas:calendar:dtstart", "urn:schemas:calendar:dtend", "urn:schemas:calendar:busystatus", "urn:schemas:calendar:meetingstatus", "urn:schemas:calendar:instancetype" 
        FROM Scope('SHALLOW TRAVERSAL OF "%s"') 
        WHERE NOT "urn:schemas:calendar:instancetype" = 1 AND "DAV:contentclass" = 'urn:content-classes:appointment' AND "urn:schemas:calendar:dtstart" > '2003/06/01 00:00:00' AND "mapiPrivate" = 0 AND "http://schemas.microsoft.com/mapi/Private" = 0
        ORDER BY "urn:schemas:calendar:dtstart" ASC
    </g:sql>
</g:searchrequest>

我做错了什么?这不可能吗?

【问题讨论】:

    标签: exchange-server webdav exchange-server-2003


    【解决方案1】:

    您需要请求 PR_SENSITIVITY 属性(DASL 名称http://schemas.microsoft.com/mapi/proptag/0x00360003)。 对于私有 apppoitments,其值为 SENSITIVITY_PRIVATE (=2)

    【讨论】:

      猜你喜欢
      • 2022-01-02
      • 1970-01-01
      • 2014-03-31
      • 1970-01-01
      • 1970-01-01
      • 2011-03-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多