Azure Logic Apps中SharePoint Get Items按用户查找列DisplayName过滤问题
解决方案
- 第一步先确认用户列的SharePoint内部名称:进入对应SharePoint列表的设置页面,点击「Employee」列,浏览器地址栏中
Field=参数后的字符串就是该列的内部名称,确认是否和你使用的Employee一致,不一致的话替换后续配置中的列名 - 可视化界面配置(无需修改代码视图):
- 在Get Items操作的**展开查询(Expand Query)**输入框中填写用户列内部名:
Employee,不要加后缀属性 - 在**过滤查询(Filter Query)**输入框中填写过滤规则:
Employee/DisplayName eq '完整匹配的用户名'
- 在Get Items操作的**展开查询(Expand Query)**输入框中填写用户列内部名:
- 代码视图正确配置示例:
"queries": { "$expand": "Employee", "$filter": "Employee/DisplayName eq 'Customer Name'" }
补充说明
- 你之前的报错是因为错误展开了
Employee/DisplayName,SharePoint的OData接口不支持直接展开子属性后过滤,必须先完整展开用户列对象才能过滤其下属属性 - 如果存在重名用户,推荐使用邮箱过滤提高准确率,过滤规则可改为:
Employee/EMail eq '用户邮箱地址',注意属性名EMail的M为大写 - 过滤值需要完全匹配,包括大小写、空格和特殊字符
内容的提问来源于stack exchange,提问作者Matt
相关产品推荐
相关产品推荐

