You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用MS Graph Java SDK为邮件查询配置search参数替代filter

解决方法

你可以直接调用Java SDK提供的search()方法传入搜索条件,替换原有的filter()调用即可,修改后的代码如下:

IMessageCollectionRequest eventRequest = graphClient.getGraphClient().users(user.getEmail()).messages()
                .buildRequest(new HeaderOption("Prefer", "outlook.body-content-type=\"text\""))
                .select("body,subject,toRecipients,ccRecipients,CreatedDateTime,conversationId,from");

IMessageCollectionPage eventPage = eventRequest
                                  // 替换filter为search,搜索语句需要包裹转义后的双引号
                                  .search("\"recipients:@xyz.com\"")
                                  // 对应URL中的$top=1000参数
                                  .top(1000)
                                  .get();

注意事项

  • 搜索参数必须用双引号包裹,Java代码中需要对双引号做转义处理
  • 不要同时保留filter()和search()调用,MS Graph不支持两个参数同时生效
  • 如果需要拼接多个搜索条件,直接在search的参数字符串中拼接即可,例如搜索收件人包含@xyz.com且主题含「账单」的语句为"\"recipients:@xyz.com subject:账单\""

内容的提问来源于stack exchange,提问作者Sadashiv

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 12:54:02