我正在尝试从 Office 365 返回电子邮件,其中发件人的电子邮件与我的查询字符串匹配。我尝试使用包含 $filter ,但这引发了一个错误,指出我必须使用 $search 。以下内容有效,但不限制我的搜索范围,即/Sender/EmailAddress/Name。有什么想法吗?
https://outlook.office365.com/api/v1.0/Me/Messages?$select=Subject,Sender,From&$search="Joe Bloggs"
最佳答案
如果您使用不支持的过滤方法,您将收到一条错误消息,类似于您收到的错误。
此外,当使用$search查询参数而不指定属性时,结果将搜索Body、Sender和Subject属性。在您的请求中,这将返回收件箱中在三个默认属性中的任意一个中包含您的关键字的所有邮件。
$search 系统查询选项将结果限制为仅包含与指定搜索表达式匹配的实体。您可以点击here对于使用 $search 查询参数的常见字段,如果您需要获取收件箱中从特定人员发送的所有邮件,您可以尝试以下查询:
https://outlook.office.com/api/v2.0/me/messages?$search="from:<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="e28a878e92a2818d8c968d918dcc818d8f" rel="noreferrer noopener nofollow">[email protected]</a>"
上述请求在 v1.0 中也有效,但消息的返回属性不一样(与 v2.0 相比)。
关于使用 Office 365 REST API 搜索电子邮件发件人地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36519860/