トップ回答者
定期的なイベントの内容取得

質問
-
GetListItemsで定期的なイベントの取得を行いたのですが、
どうしても登録元のデータ内容の肝心の定期的なイベント内容
を取得できません。
テストデータとして以下のようなデータを登録しています。
タイトルは”TEST"
1週毎の土曜日
開始日は2008/5/19
開始時刻08:00
終了時刻17:00
取得時のGetListItemsのパラメータは
Queryは
Code Snippet<Query>
<Where>
<DataRangesOverlap>
<FieldRef Name="EventDate"/>
<FieldRef Name="EndDate"/>
<FieldRef Name="RecurrenceID"/>
<Value Type="DateTime">
<Now/>
</Value>
</DateRangesOverlap>
</Where>
</Query>
ViewFieldsは以下
Code Snippet<ViewFields>
<FieldRef Name="EventDate"/>
<FieldRef Name="EndDate"/>
<FieldRef Name="fRecurrence"/>
<FieldRef Name="RecurrenceData"/>
</ViewFields>
rowLimitは0で、
QueryOptionsは以下
Code Snippet<QueryOptions>
<ViewAttributes RecurrenceRowset="TRUE"/>
</QueryOptions>
としています。。。
しかし結果は以下のような内容が返ってきます。
Code Snippet<ns1:data ItemCount="1" xmlns:ns1="urn:schemas-microsoft-com:rowset">
<ns3:row
ows_EventDate="2008-05-19 08:00:00"
ows_EndDate="20027-07-10 17:00:00"
ows_fRecurrence="1"
ows_fAllDayEvent="0"
ows_MetaInfo="70;#"
ows__ModerationStatus="0"
ows__Level="1"
ows_Title="TEST"
ows_ID="70"
ows_owshiddenversion="1"
ows_UniqueId="70;#{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx}"
ows_FSObjType="70;#0"
ows_Created="2008-05-19 09:19:03"
ows_FieldRef="70:#xxxx/Lists/xxx/70_.000"
xmlns:ns3="#RowsetSchema"/>
</ns1:data>
肝心のRecurrenceDataの内容が返って来てないような気がします。
どこのどのパラメータがおかしいのかも見当もつかないんですが、
なにかわかる方がいらっしゃいましたご教授らよろしくお願いい
たします。
ちなみにサーバはWindows2003Serverで、SharePoint3.0を使用
しております。
回答
-
こんにちは。
マイクロソフトの小松です。以下のSOAPリクエストを生成して、GetListItemsを呼び出してみたところ、RecurrenceDataの値を取得できました (レスポンスをご参照ください)。
クエリの条件は変わってしまいますが、query要素以下に指定しているDataRangesOverlap要素を外すことでRecurrenceDataの値を取得することができます。
Code Snippet<?xml version="1.0" encoding="utf-8"?>
<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>6DE10970-17A5-4D86-9A31-8F3DE3A13629</listName>
<query />
<viewFields>
<ViewFields>
<FieldRef Name="RecurrenceData" />
</ViewFields>
</viewFields>
<rowLimit>0</rowLimit>
</GetListItems>
</soap:Body>
</soap:Envelope>
Response:
Code Snippet<?xml version="1.0"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<GetListItemsResponse xmlns="http://schemas.microsoft.com/sharepoint/soap/">
<GetListItemsResult>
<listitems xmlns:s="uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882"
xmlns:dt="uuid:C2F41010-65B3-11d1-A29F-00AA00C14882"
xmlns:rs="urn:schemas-microsoft-com:rowset"
xmlns:z="#RowsetSchema">
<rs:data ItemCount="1">
<z:row ows_RecurrenceData="<recurrence><rule><firstDayOfWeek>su</firstDayOfWeek><repeat><daily dayFrequency="1" /></repeat><repeatForever>FALSE</repeatForever></rule></recurrence>"
ows_MetaInfo="1;#"
ows__ModerationStatus="0"
ows__Level="1"
ows_fAllDayEvent="0"
ows_Title="rec"
ows_EventDate="2008-05-21 22:00:00"
ows_ID="1"
ows_owshiddenversion="1"
ows_UniqueId="1;#{6F9D2F29-847B-4107-B2D0-5390DB5E8FFB}"
ows_FSObjType="1;#0"
ows_Created="2008-05-21 21:50:53"
ows_EndDate="2011-02-13 22:00:00"
ows_FileRef="1;#test/Lists/Calendar/1_.000"/>
</rs:data>
</listitems>
</GetListItemsResult>
</GetListItemsResponse>
</soap:Body>
</soap:Envelope>
-----
マイクロソフト ディベロップメント株式会社
小松 真也
すべての返信
-
こんにちは。
マイクロソフトの小松です。以下のSOAPリクエストを生成して、GetListItemsを呼び出してみたところ、RecurrenceDataの値を取得できました (レスポンスをご参照ください)。
クエリの条件は変わってしまいますが、query要素以下に指定しているDataRangesOverlap要素を外すことでRecurrenceDataの値を取得することができます。
Code Snippet<?xml version="1.0" encoding="utf-8"?>
<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>6DE10970-17A5-4D86-9A31-8F3DE3A13629</listName>
<query />
<viewFields>
<ViewFields>
<FieldRef Name="RecurrenceData" />
</ViewFields>
</viewFields>
<rowLimit>0</rowLimit>
</GetListItems>
</soap:Body>
</soap:Envelope>
Response:
Code Snippet<?xml version="1.0"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<GetListItemsResponse xmlns="http://schemas.microsoft.com/sharepoint/soap/">
<GetListItemsResult>
<listitems xmlns:s="uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882"
xmlns:dt="uuid:C2F41010-65B3-11d1-A29F-00AA00C14882"
xmlns:rs="urn:schemas-microsoft-com:rowset"
xmlns:z="#RowsetSchema">
<rs:data ItemCount="1">
<z:row ows_RecurrenceData="<recurrence><rule><firstDayOfWeek>su</firstDayOfWeek><repeat><daily dayFrequency="1" /></repeat><repeatForever>FALSE</repeatForever></rule></recurrence>"
ows_MetaInfo="1;#"
ows__ModerationStatus="0"
ows__Level="1"
ows_fAllDayEvent="0"
ows_Title="rec"
ows_EventDate="2008-05-21 22:00:00"
ows_ID="1"
ows_owshiddenversion="1"
ows_UniqueId="1;#{6F9D2F29-847B-4107-B2D0-5390DB5E8FFB}"
ows_FSObjType="1;#0"
ows_Created="2008-05-21 21:50:53"
ows_EndDate="2011-02-13 22:00:00"
ows_FileRef="1;#test/Lists/Calendar/1_.000"/>
</rs:data>
</listitems>
</GetListItemsResult>
</GetListItemsResponse>
</soap:Body>
</soap:Envelope>
-----
マイクロソフト ディベロップメント株式会社
小松 真也