Можно ли получить список событий (с расширенными повторяющимися событиями) из календаря Sharepoint с помощью веб-службы, предоставляемой через Lists.aspx?
Это, очевидно, возможно, если вы используете 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>";
Я пытаюсь сделать то же самое, используя обычный XML через cURL с этим запросом:
<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 не работает, но другие говорят, что оно работает нормально, и ничего из того, что я прочитал, не показалось мне окончательным.
Кто-нибудь пробовал это и заставил работать без использования C # или VB - просто прямой XML?