Ms office 没有为类型“Microsoft.Exchange.ExchangeSystem.ExDateTime”定义大于或等于的二进制运算符
我正在尝试使用REST API从用户的Office 365帐户检索事件,但通过字段LastModifiedTime进行过滤。例如,检索日期之后将发生的所有事件:“2014-09-19T03:45:30.4020439Z”或“2014-09-18T04:05:00Z”,但我总是检索此错误消息: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
{
"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,}]: