c# - Microsoft Graph API:通过展开和筛选获取消息失败,并出现异常:“找到不平衡的括号表达式。” (使用 C#)
问题描述
使用 Microsoft Graph 从 CONTOSO 通过其属性标记获取消息和预定义属性时遇到问题。我想获取带有属性标签“0x001a”的“ItemClass”属性作为扩展属性。
- 使用图形资源管理器时,以下 GET 请求可以正常工作:
GET https://graph.microsoft.com/v1.0/me/messages/AAMkADllMzJhZmVmLWE4MzgtNDViZS04NmM5LTBjMDhiMTBlNzMwYwBGAAAAAABJSnHDPwmbTJ60RQw_Q9SDBwCyg33-YW4bRI0rrBOy6gXhAAAAAAEMAACyg33-YW4bRI0rrBOy6gXhAAAXMQ5nAAA=?$expand=SingleValueExtendedProperties($filter=Id eq 'String 0x001a')
- 如果我从 c# 发出相同的请求,即使我使用 URL 编码(参见下面代码中的 B),我也会收到以下异常:
消息:解析 OData 选择和展开失败:找到不平衡的括号表达式。
c# 代码如下所示:
ClientCredentialProvider authenticationProvider =
new ClientCredentialProvider(confidentialClientApplication);
GraphServiceClient graphServiceClient =
new GraphServiceClient(authenticationProvider);
var message = await this.GraphServiceClient
.Me
.Messages["AAMkADllMzJhZmVmLWE4MzgtNDViZS04NmM5LTBjMDhiMTBlNzMwYwBGAAAAAABJSnHDPwmbTJ60RQw_Q9SDBwCyg33-YW4bRI0rrBOy6gXhAAAAAAEMAACyg33-YW4bRI0rrBOy6gXhAAAXMQ5nAAA="]
.Request()
.Expand("singleValueExtendedProperties($filter=id eq 'String 0x001A'") // A
//.Expand("singleValueExtendedProperties(%24filter%3D(id%20eq%20%27String%200x001A%27)") // B)
.GetAsync();
过滤器表达式有什么问题?
解决方案
您)
在.Expand()
. 将其更改为
.Expand("singleValueExtendedProperties($filter=id eq 'String 0x001A')")
推荐阅读
- emacs - 使用显示条目文本获取自定义组织议程
- scala - 播放框架 i18n。如何路由到没有国家代码的语言
- python-3.x - jupyter notebook / 由于 KeyError 无法启动内核
- java - 带有自定义单元格的 javafx listview
- bash - 如何在 bash 脚本中扩展变量时保留包含空格的单词?
- python - 来自 Pandas 数据帧的数字与字符串数据的散点图
- load-balancing - Keycloak invalid_token 找不到指定孩子的公钥
- sql - 如何为每个 CarID 选择最高 BidAmount
- r - 如何运行一个循环,我在 R 中同时更改 i 和 k?
- authentication - gRPC 授权方式