如何在Power Automate中解析SmartSheets HTTP动作输出的ID?
解决Power Automate中提取SmartSheets HTTP响应ID的问题
直接引用响应属性:若创建工作区的HTTP动作返回JSON格式数据,可直接用表达式提取ID。假设响应结构为
{"id": 12345, ...},后续动作中使用body('创建工作区')?['id']即可获取整数ID。需注意匹配实际返回的字段名,比如部分场景下字段可能是workspaceId。解析JSON动作(推荐方案):
- 先执行一次创建工作区的HTTP动作,复制其输出的完整JSON内容。
- 在Power Automate中添加解析JSON动作,将复制的JSON粘贴到「示例有效负载」栏,系统会自动生成对应的schema。
- 把HTTP动作的输出设置为解析JSON的输入,之后就能直接从解析结果中选择ID字段,无需手写复杂表达式,还能规避类型不匹配问题。
排查Filter Array/Compose错误:
- 若Filter Array报错,多数情况是误将非数组结构当成数组处理。如果ID是顶层属性而非数组元素,完全不需要用Filter Array,直接提取即可。
- Compose动作报错时,检查表达式的字段路径是否正确。比如ID嵌套在多层结构中(如
{"data": {"workspace": {"id": 12345}}}),表达式应为body('创建工作区')?['data']?['workspace']?['id'],使用?可避免因字段为空导致的报错。
强制类型转换:若后续HTTP请求要求ID为整数类型,可通过
int(body('创建工作区')?['id'])将提取到的值强制转为整数,确保符合SmartSheets API的参数要求。
内容的提问来源于stack exchange,提问作者user29587599
相关产品推荐
相关产品推荐

