Power Automate创建项流无法获取SP列表Content Type Name问题咨询
问题根因
*"When an item is created" 触发器触发时,SharePoint 返回的初始项负载默认不会携带可读的「Content Type Name」有效值,直接引用触发器动态内容里的该字段,大概率拿到空值、内部ID或者旧值,这是该触发器的已知默认行为。
可直接落地的解决方法
- 方法1:新增获取项动作拉取完整字段值
触发器执行后,不要直接用触发器输出的内容类型字段,先新增一个SharePointGet item(获取项)动作:- 站点地址、列表选择和触发器完全一致的目标站点和列表
- 项ID传入触发器输出的列表项ID参数
- 后续更新目标列时,从
Get item动作的输出结果里选取Content Type Name字段值即可,该动作返回的是项创建完成后的完整字段数据,取值稳定准确。
- 方法2:通过内容类型ID映射匹配(性能最优)
如果你列表使用的内容类型是固定的有限个,可以跳过额外的获取项请求,直接从触发器输出里读取Content Type ID字段,用Switch条件动作做映射:每个内容类型对应唯一的ID前缀,匹配到对应ID后直接写入预设的内容类型名称到目标列即可,该方法不需要额外发起数据请求,流运行速度最快。 - 方法3:修改触发器配置强制拉取字段
编辑"When an item is created"触发器,展开高级设置,找到「选择列」配置项,手动输入ContentTypeName(字段内部名),强制触发器触发时拉取该字段的值,部分低复杂度场景下可以直接拿到有效值,不需要新增额外动作。
注意:不要在列表项创建的同一步骤里给目标同步列赋值内容类型名称,项保存前内容类型的关联逻辑还未执行完成,写入的值会被覆盖或者为空,必须等项创建完成后再执行更新操作。
配置参考截图


内容的提问来源于stack exchange,提问作者Mythran
相关产品推荐
相关产品推荐

