当使用Microsoft Graph从CONTOSO获得其属性标签的消息和预定义属性时,我遇到了一个问题。我想要得到itemclass;属性,属性标签"0x001a"作为扩展属性。
- 当使用图形资源管理器时,以下GET请求工作正常:
GET https://graph.microsoft.com/v1.0/me/messages/AAMkADllMzJhZmVmLWE4MzgtNDViZS04NmM5LTBjMDhiMTBlNzMwYwBGAAAAAABJSnHDPwmbTJ60RQw_Q9SDBwCyg33-YW4bRI0rrBOy6gXhAAAAAAEMAACyg33-YW4bRI0rrBOy6gXhAAAXMQ5nAAA=?$expand=SingleValueExtendedProperties($filter=Id eq 'String 0x001a')
- 如果我从c#发出相同的请求,我会得到以下异常,即使我使用URL编码(见下面代码中的B):
消息:Parsing OData Select and Expand failed: Found an balanced括号表达式。
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')")