SharePoint REST按文件名筛选报错:‘File列不存在’问题咨询
报错原因与解决方法
报错原因
SharePoint REST 不支持直接对通过 $expand 展开的关联实体(如这里的File)属性使用 $filter 筛选。虽然$expand能成功返回File的相关数据,但筛选逻辑无法识别这种嵌套的关联属性,因此会抛出“Column 'File' does not exist”的错误。
按文件名筛选的正确方法
方法1:使用内置字段FileLeafRef模糊筛选
FileLeafRef是SharePoint文档库默认存储文件名的内置字段,直接用它做筛选即可,同时可保留$expand获取文件详情:
/_api/web/Lists/getbytitle('DPC Documents')/items?$select=FileLeafRef,File/Name&$expand=File&$filter=substringof('ATR Test 7.docx', FileLeafRef)
方法2:精确匹配文件名
如果需要完全匹配文件名,可使用eq操作符:
/_api/web/Lists/getbytitle('DPC Documents')/items?$select=File/Name&$expand=File&$filter=FileLeafRef eq 'ATR Test 7.docx'
内容的提问来源于stack exchange,提问作者Ofer Gal
相关产品推荐
相关产品推荐

