2016-04-09 19 views
1

送信者の電子メールがクエリ文字列と一致するOffice 365から電子メールを返そうとしています。私はcontainsと$ filterを試しましたが、これは$ searchを使わなければならないというエラーを投げました。以下は動作しますが、検索の範囲、つまり/ Sender/EmailAddress/Nameに制限はありません。何か案は?Office 365 REST APIを使用して電子メールの送信者アドレスを検索

https://outlook.office365.com/api/v1.0/Me/Messages?$select=Subject,Sender,From&$search="Joe Bloggs" 
+0

エラーの文章を投稿してください。 – lencharest

+0

contains、https://outlook.office365.com/api/v1.0/Me/Messages?$select=Subject,Sender,From&$filter=contains(Sender/EmailAddress/Name,'test)を使用して$ filterを試行するとエラーが発生します。 ')は次のとおりです。{ エラー:{ コード: "ErrorInvalidUrlQueryFilter"、 メッセージ: "' contains 'と' startswith 'はフィルタリングでサポートされていません。 } } – user2823030

答えて

0

Resource reference for the Mail, Calendar, Contacts, and Task REST APIsによると、Office 365のREST APIは、$searchオプションのAdvanced Query Syntax独自のを持っています。そのため、from:修飾子を使用して検索を制限することができます。 URIエンコードされるべきであることを

GET https://outlook.office.com/api/v2.0/me/messages?$search="from:Joe Bloggs" 

注(すなわち、二重引用符と空間符号化パーセントであることが必要)。また、例ではAPIのv2.0を使用しています。これがv1.0で動作するかどうかはわかりません。

2

サポートされていないフィルタリング方法を使用すると、取得したエラーのようなエラーメッセージが表示されます。

さらに、プロパティを指定せずに$ search queryパラメータを使用すると、Body、Sender、Subjectの各プロパティが検索されます。あなたの要求では、3つのデフォルトプロパティのいずれかにキーワードを含むすべてのメッセージが受信トレイに返されます。

$ searchシステムのクエリオプションは、指定された検索式に一致するエンティティのみを含むように結果を制限します。リクエストの上

https://outlook.office.com/api/v2.0/me/messages?$search="from:[email protected]" 

も動作します:特定の人から送信された受信トレイ内のすべてのメッセージを取得する場合は、クエリの下に試みることができる、あなたの要件である、$検索クエリパラメータを使用して、共通のフィールドのhereをクリックしてください可能性がありv1.0では、メッセージの戻り値のプロパティは同じではありません(v2.0と比較して)。

関連する問題