Logic Apps中Adobe Merge PDF API参数错误:类型无效问题求助
解决Logic App中Adobe Merge PDF API的"files参数类型错误"问题
问题分析
你遇到的"bad value for parameter 'files'; invalid type"错误,核心原因是请求体中files数组的结构不符合Adobe PDF Tools Combine PDF API的要求。Encodian API的参数格式和Adobe的不兼容,直接迁移会导致参数不匹配。
解决方案
1. 修正files数组的结构
Adobe Combine PDF API要求每个文件项必须包含name(文件名)和content(Base64编码的文件内容)字段,而非你当前使用的$content-type和fileContent。正确的数组结构如下:
[ { "name": "attachment1.pdf", "content": "SlZCRVJ..." // 你的Base64编码PDF内容 }, { "name": "attachment2.pdf", "content": "SlZCRVJ..." } ]
2. 调整Logic App变量赋值
在构造FileToMerge变量时,循环邮件附件并按以下规则生成数组项:
name:直接使用邮件附件的文件名(items('Apply_to_each')?['Name'])content:将附件内容转为Base64编码(base64(body('Get_attachment_content')))
3. 修复请求头的区域参数
你当前的x-region-value值为"-ue1",格式错误,应改为不带减号的区域标识,比如欧洲区域用"ue1":
"headers": { "x-api-key": "PowerAutomate", "x-region-value": "ue1" }
4. 验证最终请求体
确保你的动作代码中,body部分的files参数引用的变量是上述正确结构的数组,最终代码示例:
{ "inputs": { "host": { "connection": { "name": "@parameters('$connections')['adobepdftools']['connectionId']" } }, "method": "post", "body": { "files": "@variables('FileToMerge')", "outputFileName": "Temp.pdf" }, "headers": { "x-api-key": "PowerAutomate", "x-region-value": "ue1" }, "path": "/operation/v1/combinePDF" } }
额外排查点
- 确认所有附件的Base64编码没有截断或格式错误
- 检查Logic App中变量
FileToMerge的实际输出,确保是标准的JSON数组结构
内容的提问来源于stack exchange,提问作者DryBSMT
相关产品推荐
相关产品推荐

