Ms office 没有为类型“Microsoft.Exchange.ExchangeSystem.ExDateTime”定义大于或等于的二进制运算符

Ms office 没有为类型“Microsoft.Exchange.ExchangeSystem.ExDateTime”定义大于或等于的二进制运算符,ms-office,odata,office365,Ms Office,Odata,Office365,我正在尝试使用REST API从用户的Office 365帐户检索事件,但通过字段LastModifiedTime进行过滤。例如,检索日期之后将发生的所有事件:“2014-09-19T03:45:30.4020439Z”或“2014-09-18T04:05:00Z”,但我总是检索此错误消息: { "error": { "code":"ErrorInternalServerError", "message":"The binary operator GreaterThanOrEq

我正在尝试使用REST API从用户的Office 365帐户检索事件,但通过字段LastModifiedTime进行过滤。例如,检索日期之后将发生的所有事件:“2014-09-19T03:45:30.4020439Z”或“2014-09-18T04:05:00Z”,但我总是检索此错误消息:

{
 "error": { 
   "code":"ErrorInternalServerError", 
   "message":"The binary operator GreaterThanOrEqual is not defined for the types
    ' Microsoft.Exchange.ExchangeSystem.ExDateTime' and 'System.DateTimeOffset'.",
   "innererror":{ 
     "message":"The binary operator GreaterThanOrEqual is not defined for the types 
          'Microsoft.Exchange.ExchangeSystem.ExDateTime' and 'System.DateTimeOffset'.",
     "type":"System.InvalidOperationException", 
     "stacktrace":" at 
          System.Linq.Expressions.Expression.GetComparisonOperator(ExpressionType 
          binaryType, String opName, Expression left, Expression right, Boolean 
          liftToNull)\r\n at 
          System.Linq.Expressions.Expression.GreaterThanOrEqual(Expression left, 
          Expression right, Boolean liftToNull, MethodInfo method)\r\n at 
          Microsoft.Exchange.Services.OData.Model.DataEntityFilterConverter.ConvertFilterNode(QueryNode queryNode)\r\n at Microsoft.Exchange.Services.OData.Model.DataEntityFilterConverter.
          ConvertFilterClause(FilterClause filterClause)\r\n at 
          Microsoft.Exchange.Services.OData.Model.DataEntityQueryAdpater.GetEntityQueryOptions()\r\n
          at Microsoft.Exchange.Services.OData.Model.FindEventsCommand.InternalExecute()\r\n at
          Microsoft.Exchange.Services.OData.ODataCommand`2.Execute()\r\n at 
          Microsoft.Exchange.Services.OData.ODataTask.Execute(TimeSpan 
          queueAndDelayTime, TimeSpan totalTime)" 
    }
  }
}
以下是网址:

/Me/Events?$select=Subject,Start,End,LastModifiedTime&$filter=LastModifiedTime ge 2014-09-19T03:45:30.4020439Z

/Me/Events?$select=Subject,Start,End,LastModifiedTime&$filter=LastModifiedTime ge 2014-09-18T04:05:00Z
我想我的错误是由日期格式引起的,但我不知道如何解决它

谁能帮我一下吗


谢谢大家!

您可以尝试将日期值强制转换为datetimeoffset,如下所示

/Me/Events?$select=Subject,Start,End,LastModifiedTime&$filter=LastModifiedTime ge datetimeoffset'2014-09-19T03:45:30.4020439Z'

/Me/Events?$select=Subject,Start,End,LastModifiedTime&$filter=LastModifiedTime ge datetimeoffset'2014-09-18T04:05:00Z'
或者你可以使用强制转换操作

/Me/Events?$select=Subject,Start,End,LastModifiedTime&$filter=LastModifiedTime ge cast(2014-09-19T03:45:30.4020439Z, Edm.DateTimeOffset)

/Me/Events?$select=Subject,Start,End,LastModifiedTime&$filter=LastModifiedTime ge cast(2014-09-18T04:05:00Z, Edm.DateTimeOffset)

谢谢回复!我尝试了您的建议,但这次显示了其他错误:>{error:{code:ErrorInvalidUrlQuery,消息:查询参数“$filter”无效,innererror:{消息:查询参数“$filter”无效。>消息:强制转换中的子类型“Edm.DateTimeOffset”不是实体类型。只能对实体类型执行强制转换。您是否尝试了两个选项,还是仅尝试了强制转换。第一个选项应可用于输入字符串谢谢,我尝试了两个选项。第一个选项出现以下错误:error:{code:ErrorInvalidUrlQuery,消息:查询参数“$filter”无效。当在url下开始、结束筛选器时:/Me/Events?$Select=Subject、Start、End、LastModifiedTime&$filter=Start ge 2014-09-18T04:05:00Z获取的数据如下:{@odata.context:,值:[{@odata.id:xxxxx,@odata.editLink:,id:xxxxxx,主题:取消:testttttt,开始:2014-09-24T08:30:00Z,结束:2014-09-24T09:30:00Z,最后修改时间:2014-09-24T08:37:08.54383z,}]: