C# 使用C进行Microsoft Graph API附件搜索#
我正在尝试使用带有C#的Microsoft graph API搜索Outlook邮箱中的任何关键字,包括正文、主题、附件等。 对于主体和主体,我可以应用过滤器,但同样的方式,它不适用于附件。 请参阅下面的代码:C# 使用C进行Microsoft Graph API附件搜索#,c#,outlook,microsoft-graph-api,microsoft-graph-sdks,microsoft-graph-mail,C#,Outlook,Microsoft Graph Api,Microsoft Graph Sdks,Microsoft Graph Mail,我正在尝试使用带有C#的Microsoft graph API搜索Outlook邮箱中的任何关键字,包括正文、主题、附件等。 对于主体和主体,我可以应用过滤器,但同样的方式,它不适用于附件。 请参阅下面的代码: graphClient.Me.MailFolders.Inbox.Messages.Request().Expand("attachments") .Filter($"contains(subject, '{subject}')").OrderBy("Subject").Top(30).
graphClient.Me.MailFolders.Inbox.Messages.Request().Expand("attachments") .Filter($"contains(subject, '{subject}')").OrderBy("Subject").Top(30).GetAsync();
我知道在过滤器中我正在传递主题,但我不确定如何搜索附件中的内容
请给我一些建议。尚未测试您描述的场景。但是,如果您想在邮件的任何部分(发件人姓名、主题、邮件正文或任何附件)中搜索信息,您可以选择 此处的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”的邮件。感谢您快速回复。我已经看到了你提到的链接。我需要这种行为才能在C代码中工作,而这是不可能发生的。你能帮我吗?我也试过下面的代码:
List options=newlist{newqueryoption($search”,“Work”)};var messages=await graphClient.Me.messages.Request(选项)。展开(“附件”).GetAsync()
@VinayGupta我认为您不能使用graphClient.Me.MailFolders.Inbox.Messages.Request().Expand(“附件”)
来获取附件内容。您需要使用graphServiceClient.Me.Messages[“messageid”].Attachments[“attachmentid”].Content.Request().GetAsync()
来获取附件的内容。然后尝试在上面使用$search
。我不确定这是否有效。因为我想搜索所有邮件,如果搜索文本与主题、正文和附件匹配,它应该在结果中返回该邮件。上面的代码不可用。内容不可访问。@VinayGupta如果是,您应该使用POSThttps://graph.microsoft.com/beta/search/query
。