Power Automate导入Excel至Planner Premium报错求助
问题重现
搭建流的操作步骤:
- 创建新的Power Automate流
- 选择「当文件创建或修改时(OneDrive for Business)」触发器监控目标Excel文件
- 添加「Excel Online (Business)」操作读取文件中的行数据
- 尝试通过Dataverse的无绑定动作在Planner Premium中创建任务,触发如下错误:
Action 'Perform_an_unbound_action' failed: Error identified in Payload provided by the user for Entity :'', For more information on this error please follow this help link https://go.microsoft.com/fwlink/?linkid=2195293 ----> InnerException : Microsoft.OData.ODataException: The annotation 'odata.context' was found. This annotation is either not recognized or not expected at the current position. at Microsoft.OData.JsonLight.ODataAnnotationNames.ValidateIsCustomAnnotationName(String annotationName) at Microsoft.OData.JsonLight.ODataJsonLightResourceDeserializer.ReadEntryInstanceAnnotation(String annotationName, Boolean anyPropertyFound, Boolean typeAnnotationFound, PropertyAndAnnotationCollector propertyAndAnnotationCollector) at Microsoft.OData.JsonLight.ODataJsonLightResourceDeserializer.ReadODataOrCustomInstanceAnnotationValue(IODataJsonLightReaderResourceState resourceState, PropertyParsingResult propertyParsingResult, String annotationName) at Microsoft.OData.Json…
错误原因
从Excel Online读取的行数据默认携带OData元数据注解@odata.context,而Dataverse的无绑定动作无法识别该注解,导致Payload解析失败。
解决方案
步骤1:清理Excel输出中的OData元数据
在「Excel Online (Business)」读取行的操作之后,添加一个Compose操作,使用表达式移除多余的@odata.context字段:
removeProperty(body('List_rows_present_in_a_table'), '@odata.context')
注意:将List_rows_present_in_a_table替换为你实际的Excel读取操作名称
步骤2:传入清理后的数据到Dataverse动作
将Dataverse动作的数据源替换为Compose操作的输出,确保传入的是纯任务数据数组,无额外OData注解。
步骤3:验证字段映射准确性
检查Dataverse动作的参数映射,确认Excel列与Planner Premium任务字段(如标题、截止日期、分配对象)完全匹配,无格式不兼容问题(比如日期格式需符合Dataverse要求)。
内容的提问来源于stack exchange,提问作者Craino

