邮件地址在 odata 过滤器中包含 # 使其无效

mail address contains # in odata filter making it invalid

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

问题是用户邮件地址以 # 开头(即邮件类似于 #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 的解决方法? (我知道在收到回复后可以自己过滤邮件。这不是我要找的。)

谢谢

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