首页 > 解决方案 > 使用 C# 的 Microsoft Graph API 附件搜索

问题描述

我正在尝试使用带有 C# 的 Microsoft 图形 API 搜索 Outlook 邮箱中的任何关键字,包括正文、主题、附件等。对于主题和正文,我可以应用过滤器,但同样不能使用附件。请看下面的代码:

graphClient.Me.MailFolders.Inbox.Messages.Request().Expand("attachments") .Filter($"contains(subject, '{subject}')").OrderBy("Subject").Top(30).GetAsync();

我知道在过滤器中我正在传递主题,但我不确定如何搜索附件中的内容。

请给我一些建议。

标签: c#outlookmicrosoft-graph-apimicrosoft-graph-sdksmicrosoft-graph-mail

解决方案


没有测试你描述的场景。但是,如果您想在邮件的任何部分(发件人姓名、主题、邮件正文或任何附件)中搜索信息,您可以选择使用 Microsoft Graph 中的 Microsoft Search API 来搜索邮件

此处的 HTTP 示例:

POST https://graph.microsoft.com/beta/search/query
Content-Type: application/json

{
  "requests": [
    {
      "entityTypes": [
        "microsoft.graph.message"
      ],
      "query": {
        "query_string": {
          "query": "contoso"
        }
      },
      "from": 0,
      "size": 25
    }
  ]
}

它查询已登录用户邮箱中包含字符串“contoso”的邮件。


推荐阅读