使用 Office 365 REST 搜索电子邮件 API

Search emails using Office 365 REST API

我在 Rails 和 Office 365 REST API 上使用 Ruby 来获取带有 $search 参数的消息。我的请求是这样的

https://outlook.office.com/api/v1.0/me/folders/inbox/messages?$search="oundatio‌n"

这个请求不能搜索包含"Foundatio‌n"的邮件,它只能找到恰好有"oundatio‌n"个词的邮件。我想搜索所有包含单词 "oundatio‌n" 的电子邮件,例如 "Foundatio‌n"、"Soundatio‌n"... oundatio‌n .... 你可以帮帮我吗? 非常感谢!

Outlook v1.0 REST API的搜索功能使用Advanced Query Syntax。因此,如果您知道该字符串的开头,则只能搜索部分字符串。如果您只键入字符串的末尾或中间部分,则只会 returned 以该部分开头的结果。 例如,如果您要查找我的 "foundation",则键入 "found" 将给出预期的结果。只输入 "ation" 不会 return 正确的结果。

使用 * 等常见通配符不会有任何区别,因为不支持通配符。由于特殊字符通常会被忽略,因此搜索 "oundation" 或“*oundation”将 return 得到相同的结果。

您可以进一步了解 AQS 的搜索语法 here, and you can test your queries in the Outlook OAuth Sandbox