求助:通过作者ID编号查询列表项的CAML Query无法运行
解决按作者ID搜索列表项的CAML Query问题
你的CAML查询核心问题是缺少比较运算符,<Where>节点内不能直接放置<FieldRef>和<Value>,必须用比较运算符(如<Eq>)包裹。以下是正确的写法:
<View> <Query> <Where> <Eq> <FieldRef LookupId="True" Name="Author"/> <Value Type="Integer">MyIdNumber</Value> </Eq> </Where> </Query> </View>
关键注意事项:
<Eq>是必填的等于运算符,这是之前查询无效的主要原因LookupId="True"设置正确,代表按用户ID而非用户名匹配<Value>的Type设为Integer即可,因为用户ID是整数类型- 确保
MyIdNumber为纯数字,不要包含空格或多余字符
如果仍报错,可排查以下内容:
- 确认列表字段的内部名称确实是
Author(部分场景下显示名是「创建者」,但内部名保持Author) - 验证
MyIdNumber对应的用户在当前站点集中存在 - 检查执行查询的账号是否拥有该列表的读取权限
内容的提问来源于stack exchange,提问作者Serdar YILMAZ
相关产品推荐
相关产品推荐

