Я пытаюсь получить события для пользователя из своей учетной записи Office 365, используя REST API, но отфильтровывая поле «Старт». Например, получить все события, которые происходят после даты: 2014-08-29T09: 13: 28' , но я всегда получение этого сообщения об ошибке
{
"error": {
"code": "ErrorInvalidUrlQuery",
"message": "The query parameter '$filter' is invalid.",
"innererror": {
"message": "The query parameter '$filter' is invalid.",
"type": "Microsoft.Exchange.Services.OData.InvalidUrlQueryException",
"stacktrace": " at Microsoft.Exchange.Services.OData.Web.ODataQueryOptions.Populate()
at Microsoft.Exchange.Services.OData.ODataContext..ctor(HttpContext httpContext, Uri requestUri, ServiceModel serviceModel, ODataPathWrapper odataPath, ODataUriParser odataUriParser)
at Microsoft.Exchange.Services.OData.Web.RequestBroker.InitializeODataContext()
at Microsoft.Exchange.Services.OData.Web.RequestBroker.Process()",
"internalexception": {
"message": "A binary operator with incompatible types was detected. Found operand types 'Edm.DateTimeOffset' and 'Edm.Int32' for operator kind 'Equal'.",
"type": "Microsoft.OData.Core.ODataException",
"stacktrace": " at Microsoft.OData.Core.UriParser.Parsers.BinaryOperatorBinder.PromoteOperandTypes(BinaryOperatorKind binaryOperatorKind, SingleValueNode& left, SingleValueNode& right)
at Microsoft.OData.Core.UriParser.Parsers.BinaryOperatorBinder.BindBinaryOperator(BinaryOperatorToken binaryOperatorToken)
at Microsoft.OData.Core.UriParser.Parsers.MetadataBinder.Bind(QueryToken token)
at Microsoft.OData.Core.UriParser.Parsers.FilterBinder.BindFilter(QueryToken filter)
at Microsoft.OData.Core.UriParser.ODataUriParser.ParseFilterImplementation(String filter, IEdmType elementType, IEdmNavigationSource navigationSource)
at Microsoft.OData.Core.UriParser.ODataUriParser.ParseFilter()
at Microsoft.Exchange.Services.OData.Web.ODataQueryOptions.Populate()"
}
}
}
}
Вот все, что я пробовал:
[Ressource] = https://outlook.office365.com/
URL: [Ressource] EWS/OData/Me/События $ фильтр = Start% 20eq% 20DateTime'2012-05-29T09: 13: 28'
url: [ressource] EWS/OData/Me/Events? $ filter = Start% 20eq% 20DateTime'20141 231'
URL: [Ressource] EWS/OData/Me/События $ Фильтр = месяц (Start)% 20eq% 2012
И я уже попробовал $ фильтр на поле строки или $? выберите в поле Запустите, и он отлично работает, поэтому я думаю, что моя ошибка вызвана форматом даты, но я не знаю, как ее решить, поэтому, если кто-нибудь может мне помочь, это будет здорово!
Спасибо!
На основе документации API, кажется, что '$ filter' не поддерживается. http://msdn.microsoft.com/en-us/library/office/dn792114%28v=office.15%29.aspx – wdosanjos
@wdosanjos Спасибо за ваш ответ, но по его документации Microsoft, кажется, говорит, что поддерживается: quote : "или отфильтрованный список с помощью параметра запроса параметра $ filter OData" из http://msdn.microsoft.com/EN-US/library/office/dn792114%28v=office.15%29.aspx#sectionSection3 – nicodri
Вы " re право. Я попытался на своем конце, и я получаю ту же ошибку, хотя синтаксис url правильный. Я также пробовал с другими (не датированными) атрибутами с тем же результатом. – wdosanjos