通过SharePoint查询日历列表列出Web服务。

时间:2012-10-19 11:14:34

标签: web-services sharepoint sharepoint-2010 calendar

我正在尝试通过列表Web服务查询SharePoint日历列表,以获取当前月份中发生的所有事件。我得到的结果是非常间歇性的。使用SharePoint对象模型查询时,我没有遇到任何相同的问题。我已粘贴下面的代码。任何人都可以帮我这个吗?感谢。

 var soapEnv =
  "<soapenv:Envelope xmlns:soapenv='http://schemas.xmlsoap.org/soap/envelope/'> \
        <soapenv:Body> \
             <GetListItems xmlns='http://schemas.microsoft.com/sharepoint/soap/'> \
                <listName>Calendar</listName> \
                <query> \
                  <Query> \
                    <Where> \
                      <DateRangesOverlap> \
                       <FieldRef Name='EventDate' /> \
                       <FieldRef Name='EndDate' /> \
                       <FieldRef Name='RecurrenceID' /> \
                       <Value Type='DateTime'><Week /></Value> \
                      </DateRangesOverlap> \
                    </Where> \
                  </Query> \
                </query> \
                <queryOptions> \
                 <QueryOptions> \
                  <ExpandRecurrence>True</ExpandRecurrence> \
                  <CalendarDate>" + calendarDate + "</CalendarDate> \
                 </QueryOptions> \
                </queryOptions> \
            </GetListItems> \
        </soapenv:Body> \
    </soapenv:Envelope>";

2 个答案:

答案 0 :(得分:0)

宣布......    string ddate = SPUtility.CreateISO8601DateTimeFromSystemDateTime(calendarDate);

并使用ddate作为CAML Query中的输入..

答案 1 :(得分:0)

你检查过这条线吗?

<Value Type='DateTime'><Week /></Value>

我认为应该是

<Value Type='DateTime'><Month /></Value>

请注意,它还会返回上个月末某些天的事件,以及下个月初的某些事件。