问题描述
https://graph.microsoft.com/v1.0/me/onenote/notebooks?filter=tolower(name) eq“我的笔记本”如何工作@H_502_1@
Screenshot from Graph Explorer @H_502_1@
,当我尝试用C#编写相同代码时,出现以下错误 代码:BadRequest 消息:无效的过滤子句 内部错误: 附加数据: 日期:2020-09-02T20:01:24 @H_502_1@
var NoteBook =等待GraphClient.Me.Onenote.Notebooks.Request()。Filter($“ name eq'My Notebook'”)。GetAsync(); @H_502_1@
解决方法
它不适用于https://graph.microsoft.com/v1.0/me/onenote/notebooks?filter=tolower(name) eq 'my notebook'
。您错过了$
之前的filter=xxx
。
正确的应该是https://graph.microsoft.com/v1.0/me/onenote/notebooks?$filter=tolower(displayName) eq 'my notebook'
。
没有名为name
的属性。因为过滤器不起作用,所以可以得到结果。您列出了所有笔记本。正确的是displayName
。
但是在SDK中,笔记本类中没有定义属性name
。这就是使用SDK时出现错误的原因。
在SDK中,您应该使用以下代码:
var NoteBook = await graphClient.Me.Onenote.Notebooks.Request().Filter($"displayName eq 'My Notebook'").GetAsync();