SharePoint重复事件是随机的吗?

时间:2019-06-25 20:17:24

标签: sharepoint sharepoint-online recurring-events sharepoint-webservice

注意: 。该问题类似于现有的未回答问题(CAML OrderBy for SharePoint Recurring Calendar Event)。

如何使用 Lists.asmx Web服务检索今天或以后发生的重复发生的事件?

在将请求发送到<CalendarDate>2019-06-25T15:55:04.108Z</CalendarDate> Web服务时,我提供了/_vti_bin/Lists.asmx参数,但是我仍然收到过去的事件(如下面的屏幕快照所示)!

这是XML响应(屏幕截图)。请注意,即使将“ CalendarDate”指定为“ 2019-06-25”,活动日期仍是今天之前

enter image description here

这是与请求一起发送的XML有效负载:

<soap:Envelope xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xmlns:xsd='http://www.w3.org/2001/XMLSchema' xmlns:soap='http://schemas.xmlsoap.org/soap/envelope/'>
  <soap:Body>
    <GetListItems xmlns='http://schemas.microsoft.com/sharepoint/soap/'>
      <listName>{ my list GUID }</listName>
      <query>
        <Query>
          <OrderBy>
            <FieldRef Ascending='TRUE' Name='EventDate' />
          </OrderBy>
          <Where>
            <And>
              <Eq>
                <FieldRef Name="fRecurrence" />
                <Value Type="Boolean">1</Value>
              </Eq>
              <DateRangesOverlap>
                <FieldRef Name="EventDate" />
                <FieldRef Name="EndDate" />
                <FieldRef Name="RecurrenceID" />
                <Value Type='DateTime'>
                  <Year/>
                </Value>
              </DateRangesOverlap>
            </And>
          </Where>
        </Query>
      </query>
      <viewFields>
        <ViewFields>
          <FieldRef Name="Category" />
          <FieldRef Name="Location" />
        </ViewFields>
      </viewFields>
      <queryOptions>
        <QueryOptions>
          <ViewAttributes Scope="RecursiveAll" />
          <RecurrencePatternXMLVersion>v3</RecurrencePatternXMLVersion>
          <DateInUtc>TRUE</DateInUtc>
          <ExpandRecurrence>TRUE</ExpandRecurrence>
          <CalendarDate>2019-06-25T15:55:04.108Z</CalendarDate>
          <RecurrenceOrderBy>TRUE</RecurrenceOrderBy>
        </QueryOptions>
      </queryOptions>
      <rowLimit>20</rowLimit>
    </GetListItems>
  </soap:Body>
</soap:Envelope>

编辑:以下是上面的查询未返回的事件的示例。

enter image description here

1 个答案:

答案 0 :(得分:1)

Year不支持CalendarDate属性-它返回从当前日期起一年内发生的先前事件,以及从当前日期起一年内发生的未来事件。

<Value Type='DateTime'><Now /></Value>中使用DateRangesOverlap并删除CalendarDate以检索今天或以后发生的重复发生的事件