通过通过列表.aspx公开的Web服务,可以从Sharepoint的日历中获取事件列表(包括已扩展的循环事件)吗? Shìfǒu kěyǐ tōngguò Lists.aspx gōngkāi de Wǎngzhàn fúwù, cóng Sharepoint de rìlì zhōng huòqǔ shìjiàn lièbiǎo (bāokuò yǐ kuòzhǎn de lúnjí shìjiàn) ma?
如果您使用C#或VB,那么显然是可以做到的,如这里所述,使用以下代码片段:
SPQuery query = new SPQuery();
query.ExpandRecurrence = true;
query.Query = "<Where><DateRangesOverlap><FieldRef Name="EventDate" /><FieldRef Name="EndDate" /><FieldRef Name="RecurrenceID" /><Value Type="DateTime"><Month /></Value></DateRangesOverlap></Where>";
我正在尝试使用cURL通过普通的XML做同样的事情,使用如下查询:
<GetListItems xmlns="http://schemas.microsoft.com/sharepoint/soap/">
<listName>{my guid goes here}</listName>
<query>
<Query xmlns="">
<Where>
<DateRangesOverlap>
<FieldRef Name="EventDate" />
<FieldRef Name="EndDate" />
<FieldRef Name="RecurrenceID" />
<Value Type="DateTime"><Month/></Value>
</DateRangesOverlap>
</Where>
</Query>
</query>
<queryOptions>
<QueryOptions>
<ExpandRecurrence>TRUE</ExpandRecurrence>
</QueryOptions>
</queryOptions>
这种方法有点有效——它可以获取所有列表项,但是重复的项目没有展开。关键似乎是ExpandRecurrence属性。令人惊讶的是,Google似乎没有太多相关的信息,除了一些博客文章。在搜寻网络的过程中,我读到了一些评论,指出ExpandRecurrence属性不起作用,但也有人说它可以正常工作,而我读过的所有内容都没有给我留下明确的印象。
有人尝试过使用纯XML而不使用C#或VB使其正常工作吗?