2

CAMLクエリを使用して、今後12か月間の特定のビューのすべてのカレンダーイベントを取得しようとしています。これを行うためにPHPSoapClientを使用しています。これが私のコードです。

$query = "<Query>
    <Where>
        <DateRangesOverlap>
            <FieldRef Name='EventDate' />
            <FieldRef Name='EndDate' /><FieldRef Name='RecurrenceID' />
            <Value Type='DateTime'><Year /></Value>
        </DateRangesOverlap>
    </Where>
    <OrderBy><FieldRef Name='EventDate' /></OrderBy>
</Query>";

$query_options = "<QueryOptions>
    <RecurrencePatternXMLVersion>v3</RecurrencePatternXMLVersion>
    <ExpandRecurrence>TRUE</ExpandRecurrence>
    <CalendarDate>2013-01-01T12:00:00Z</CalendarDate>
</QueryOptions>";

$soapClient = new SoapClient($wsdl, $authParams);
$params = array('listName' => $list_name, 'viewName' => $view_name, 'rowLimit' => $row_limit, "query" => $query, "query_options" => $query_options);

$rawXMLresponse = $soapClient->GetListItems($params)->GetListItemsResult->any;

結果は正しいビューから取得されていますが、リストの最初(2012年9月)から最後のイベント(2013年7月)までのすべてのイベントが返されます。'CalendarDate'を変更するか、DateTime値を'Month'に変更しても、同じ結果が得られます。確かに、このクエリはDateTime期間のイベントのみをフェッチする必要がありますか?

どんな助けでも大歓迎です!

4

0 に答える 0