如何阻止Power Automate转义反斜杠,解决API认证失败问题?
Power Automate用户名含反斜杠被转义的解决方法
方案1:用表达式构造带单个反斜杠的用户名
不要直接输入或赋值test\login,而是通过URL解码生成单个反斜杠,避免Power Automate自动转义:
- 在变量赋值、Compose操作等需要使用用户名的场景,使用以下表达式:
concat('test', decodeUriComponent('%5C'), 'login')
%5C是反斜杠的URL编码,解码后会生成单个\,Power Automate不会对该结果再次转义。
方案2:手动构造Basic Auth请求头(推荐)
绕过HTTP操作自带的认证字段,直接构造符合Basic Auth规范的请求头,彻底规避转义问题:
- 添加Compose操作(命名为「组合用户名密码」),用表达式拼接用户名和密码:
concat('test', decodeUriComponent('%5C'), 'login', ':', '你的密码内容')
- 添加第二个Compose操作(命名为「Base64编码」),对上述结果做Base64编码:
base64(outputs('组合用户名密码'))
- 在HTTP操作中,关闭默认「认证」选项,切换到「手动」模式,添加请求头:
- 键:
Authorization - 值:
concat('Basic ', outputs('Base64编码'))
- 键:
方案3:变量赋值用表达式替代直接输入
如果需要用变量存储用户名,创建变量时不要直接输入test\login,改用表达式赋值:
- 创建字符串类型变量(命名为「用户名」)
- 在变量「值」的输入框选择「表达式」,输入:
concat('test', decodeUriComponent('%5C'), 'login')
后续HTTP操作直接引用该变量即可。
内容的提问来源于stack exchange,提问作者Ronald Attard Pullicino
相关产品推荐
相关产品推荐

