1

SharePoint Web API を介して標準のカレンダー イベントをフィルター処理しようとしていますが、クエリは次のようになります。

/_api/web/lists/getbytitle('calendar')/items?$filter=( EventDate  ge  datetime'2013-01-26T22:00:00Z')&$select=Title,EventDate,ID 

クエリが機能せず、次のエラーが表示されます。

タイプ 'DateTime' のフィールド 'EventDate' はクエリ フィルタ式では使用できません

エラーの詳細:

{"error":{"code":"-1, Microsoft.SharePoint.SPException","message":{"lang":"en-US","value":"型 'DateTime' のフィールド 'EventDate' ' クエリ フィルター式では使用できません。"},"innererror":{"メッセージ":"型 'DateTime' のフィールド 'EventDate' は、クエリ フィルター式で使用できません。","type":"Microsoft .SharePoint.SPException","stacktrace":" at Microsoft.SharePoint.SPListItemEntityCollectionCamlQueryBuilder.CheckFieldRefUsage(SPField field, FieldRefUsage fieldRefUsage)\r\n at Microsoft.SharePoint.SPListItemEntityCollectionCamlQueryBuilder.SetFieldRef(XmlWriter writer, String fieldPath, FieldRefUsage fieldRefUsage, Action` 1 attributeAction)\r\n Microsoft.SharePoint.SPListItemEntityCollectionCamlQueryBuilder.SetWhereBinaryOp(XmlWriter ライター、EdmParserNode parseNode)\r\n Microsoft.SharePoint.SPListItemEntityCollectionCamlQueryBuilder.SetViewQuery(SPQuery クエリ、XmlWriter ライター、StringBuilder sb)\r\n Microsoft.SharePoint.SPListItemEntityCollectionCamlQueryBuilder.BuildCamlQuery()\r \n Microsoft.SharePoint.SPListItemEntityCollectionCamlQueryBuilder..ctor(SPList リスト、RESTfulQuery restQuery、Nullable`1 itemId) で\r\n Microsoft.SharePoint.SPListItemEntityCollection.TryWriteAsOData(ODataWriter ライター、RESTfulQuery クエリ、ProxyContext proxyContext) で\r\n Microsoft.SharePoint.Client.ServerStub.Write(Object value, Uri path, ODataWriter writer, RESTfulQuery query, ProxyContext proxyContext)\r\n Microsoft.SharePoint.Client.Rest.RestRequestProcessor.Process()\r\n Microsoft.SharePoint.Client.Rest.RestRequestProcessor.ProcessRequest()\r\n at Microsoft.SharePoint.Client.Rest.RestService.ProcessQuery(Stream inputStream, IList`1 pendingDisposableContainer)","internalexception":{"message":"フィールドタイプ 'DateTime' の 'EventDate' は、クエリ フィルター式では使用できません。","type":"Microsoft.SharePoint.Client.InvalidClientQueryException","stacktrace":""}}}}Microsoft.SharePoint.Client.InvalidClientQueryException","stacktrace":""}}}}Microsoft.SharePoint.Client.InvalidClientQueryException","stacktrace":""}}}}

フィルタークエリ式で DateTime のフィールドタイプを使用することは何とか可能ですか?

更新: ListData.svc を介してこれを実行できることがわかりました。

/_vti_bin/ListData.svc/Calendar?$filter=StartTime+ge+datetime'2011-11-23'

詳細はこちら - http://itblog.wolthaus.net/2011/12/rest-filter-datetime/

/_api/web/ クエリから時間の部分を削除しようとしました。

/_api/web/lists/getbytitle('calendar')/items?$filter=( EventDate  ge  '2013-01-26')&$select=Title,EventDate,ID

しかし、それは役に立たず、同じエラーが発生しました。

4

1 に答える 1