Microsoft Graph API中Linq查询过滤SharePoint列表项的正确语法
你的问题出在Filter语句的写法上——Filter条件里不能使用$select语法,$select是用来指定要返回的字段,而非过滤的路径。对于单行文本类型的“Mail”列,需要直接通过fields.Mail(或fields/Mail)来引用这个列的值。
修正后的代码如下:
Items = await MyGraphClient.graph.Sites["xxxxxxxxxxxxxxxxxxxxxxxxx"] .Lists["xxxxxxxxxxxxxxxxxx"] .Items .Request() .Expand("fields($select=ID,Status,Mail,Datum)") .Filter("fields/Mail eq 'test@xxxxxxxx.de'") .GetAsync();
补充说明:
- 过滤SharePoint列表项的自定义列时,必须通过
fields/列内部名称(或fields.列内部名称,两种写法均支持)指定过滤条件。 - 确认“Mail”列的内部名称确实为“Mail”——SharePoint列的内部名称可能和显示名称不一致,手动创建的列一般内部名称与显示名称相同,但含特殊字符时会被转义,若仍报错可前往列表设置查看列的内部名称。
内容的提问来源于stack exchange,提问作者bbWebDev
相关产品推荐
相关产品推荐

