【问题标题】:Search emails using Office 365 REST API使用 Office 365 REST API 搜索电子邮件
【发布时间】:2015-09-30 15:38:32
【问题描述】:

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

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

此请求无法搜索包含“Foundation‌n”的电子邮件,它只能找到包含“oundatio‌n”字样的电子邮件。我想搜索所有包含“oundatio‌n”的电子邮件,例如“Foundatio‌n”、“Soundatio‌n”... oundatio‌n .... 你可以帮帮我吗? 非常感谢!

【问题讨论】:

  • 你试过什么?我不知道这个 API,但常见的通配符搜索可能包括“*oundatio‌n”或“%oundatio‌n”
  • 您好,谢谢您的回复。我试过了,两个都不行。
  • 你试过了吗:“%oundation%”。让我知道这是否有效。
  • @Mostafa 它不起作用兄弟,如果使用$search="%oundation%",一无所获。如果$search=%oundation%,我得到"message": "Syntax error: character '%' is not valid at position 0 in '%oundation%'."

标签: ruby-on-rails search request office365 office365api


【解决方案1】:

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

使用通用通配符(例如 *)不会有任何区别,因为不支持通配符。由于特殊字符通常会被忽略,因此搜索“oundation”或“*oundation”将返回相同的结果。

您可以在 AQS 的搜索语法here 中找到进一步的说明,您可以在Outlook OAuth Sandbox 中测试您的查询。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-04-10
    • 2016-06-06
    • 2015-05-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-23
    • 1970-01-01
    相关资源
    最近更新 更多