1

获取从特定发件人电子邮件地址收到的电子邮件的查询是什么?

我尝试过滤“From”属性的“Address”属性,这是根据 O365 Microsoft.Exchange.Services.OData.Model 命名空间的“Recipient”复杂类型。

复杂类型的 OData 过滤是这样的

/Me/Inbox/Messages?$filter=From/Address eq 'email@email.com'

但是,这会返回以下错误:

"error": {
    "code": "ErrorInvalidProperty",
    "message": "The property 'Address' is invalid.",
    "innererror": {
        "message": "The property 'Address' is invalid.",
        "type": "Microsoft.Exchange.Services.OData.InvalidPropertyException",
        "stacktrace": "   at Microsoft.Exchange.Services.OData.SchemaExtensions.ResolveProperty(Schema schema, String propertyName)\r\n   at Microsoft.Exchange.Services.OData.Model.EwsFilterConverter.GetPropertyProvider(QueryNode queryNode)\r\n   at Microsoft.Exchange.Services.OData.Model.EwsFilterConverter.ConvertFilterNode(QueryNode queryNode)\r\n   at Microsoft.Exchange.Services.OData.Model.EwsQueryAdapter.GetRestriction()\r\n   at Microsoft.Exchange.Services.OData.Model.MessageProvider.Find(String parentFolderId, MessageQueryAdapter queryAdapter)\r\n   at Microsoft.Exchange.Services.OData.Model.FindMessagesCommand.InternalExecute()\r\n   at Microsoft.Exchange.Services.OData.ODataCommand`2.Execute()\r\n   at Microsoft.Exchange.Services.OData.ODataTask.Execute(TimeSpan queueAndDelayTime, TimeSpan totalTime)"
    }
}
4

2 回答 2

0

电子邮件地址是一种复杂类型,但它被列为可过滤(https://msdn.microsoft.com/office/office365/APi/complex-types-for-mail-contacts-calendar#RESTAPIResourcesMessage),这意味着以下应该有效。 ..

https://outlook.office365.com/api/v1.0/me/messages ?$filter=From/EmailAddress/Address eq 'email@email.com'

但是,我遇到了麻烦,它似乎只是返回空白值,而以下工作......

https://outlook.office365.com/api/v1.0/me/messages ?$filter=From/EmailAddress/Name eq 'Joe Bloggs'

因此,API 可能存在故障,或者电子邮件地址可能需要采用不同的格式。

于 2015-04-21T16:45:55.250 回答
0

我得到了同样的错误,复杂类型的属性无效。

似乎交换服务不支持复杂类型过滤。

您可以尝试将所有消息获取到本地存储并进行过滤。

于 2014-07-16T02:15:47.630 回答