首页 > 解决方案 > 邮件地址在 odata 过滤器中包含 # 使其无效

问题描述

我试图通过调用列表消息端点来获取用户传入的消息(电子邮件)并过滤掉他发送的邮件。

问题是用户邮件地址以#(即邮件类似于#a@b.com)开头,因此在将请求发送到完整 url 时:

url = "https://graph.microsoft.com/v1.0/Users/{user_id}/messages?$filter=sender/emailAddress/address ne '#a@b.com'"

我收到一个400(错误请求)状态代码说"Invalid filter clause"

如果我删除#然后请求有效(返回200),但我可能会收到发件人是用户本身的邮件(即#a@b.com)。

是否有使用 GRAPH API 的解决方法?(我知道在收到回复后自己过滤邮件的可能性..这不是我想要的..)

谢谢

标签: microsoft-graph-apimicrosoft-graph-mail

解决方案


我想我找到了解决方案 -'在特殊字符(在我的情况下,#)之前添加,所以如果我将过滤器更改为,.. ne ''#a@b.com' 那么它似乎工作正常。


推荐阅读