2014-06-23 57 views
0

我想通過發件人地址篩選我的Outlook 365收件箱。看看OData規範,我將通過它會涉及查詢複雜類型按發件人篩選Outlook OData網絡服務API

https://outlook.office365.com/ews/odata/Me/Folders('Inbox')/ Messages?$ filter = From/Address eq'[email protected]'。

不幸的是,這返回屬性'地址'是無效的。

我可以確認我可以訪問數據

尋找一個JSON的,如果我只是查詢收件箱中我看到一個電子郵件

...

"From": { 

    "Name": "Some One", 
    "Address": "[email protected]" 

}, 

...

任何幫助查詢字符串將不勝感激

(ps我有杜 - 地址)

+0

查詢就可以了,下面的協議。但是,似乎outlook服務不支持通過複雜類型的屬性進行過濾...... – Maya

+0

看起來像是一個API可能暴露的基本功能。感謝您檢查... – wbm

回答

0

我可以repro你的失敗,並從stacktrace,它應該是服務問題。 ODatalib可以支持複雜類型的過濾器(您可以查看http://services.odata.org/V4/OData/OData.svc/PersonDetails?$ filter = Address/City eq'Boise'),但交換服務不會

"stacktrace": " at Microsoft.Exchange.Services.OData.Model.ODataFilterConverter.GetEntityProperty(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)" 
+0

有沒有人知道他們是否打算改進。更換這個界面。似乎還有很長的路要走 – wbm

-1

試試這個:

https://outlook.office365.com/ews/odata/Me/Folders('Inbox')/Messages?$filter=From/EmailAddress/Address eq '[email protected]'.