You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何解决Flow中HTTP操作获取Access Token失败问题(Postman正常)

解决Power Automate中调用Azure AD获取Token时的"invalid_client"错误

我之前也碰到过类似的情况——Postman能正常拿到Azure AD的access token,但用Power Automate(Flow)的HTTP操作调用相同接口就报客户端密钥无效,大概率是Flow的配置细节没处理到位,给你几个排查方向:

  • 检查客户端密钥的完整性与特殊字符处理
    Azure AD的客户端密钥常包含+/=这类特殊字符,Postman会自动处理这些字符的URL编码,但Power Automate的HTTP操作直接粘贴时可能出现转义异常。你可以试试:

    • 重新从Azure AD应用注册页面复制完整密钥,确保没有多余的空格或换行符
    • 如果密钥是Base64格式,尝试手动对密钥做URL编码后再填入Flow
  • 确认HTTP请求的Content-Type头部
    Azure AD的token端点要求请求必须使用application/x-www-form-urlencoded类型,Postman默认会自动设置,但Flow需要手动配置:
    在Flow的HTTP操作里切换到「Headers」标签,添加键为Content-Type、值为application/x-www-form-urlencoded的头部,同时确保请求体选择「x-www-form-urlencoded」格式,而非raw或form-data。

  • 核对请求参数的格式与拼写
    确保Flow的请求体里正确填写了所有必填参数,且键名无拼写错误:

    grant_type=client_credentials
    client_id=你的应用程序(客户端)ID
    client_secret=你的客户端密钥
    resource=目标App Service的资源ID或URL
    

    重点注意grant_typeclient_id这类带下划线的键名,别漏写或写错符号。

  • 排查复制粘贴带来的不可见字符
    有时候从Azure AD复制密钥到Flow时,会带入全角空格、隐藏换行这类不可见字符,导致密钥验证失败。你可以:

    • 先把密钥粘贴到纯文本编辑器(比如Notepad),清理掉多余字符后再复制到Flow
    • 手动输入密钥的首尾几位,中间部分用复制,减少出错概率
  • 确认客户端密钥的状态
    虽然Postman能成功,但还是建议去Azure AD应用注册页面检查:

    • 密钥是否处于「启用」状态
    • 密钥有没有过期(Azure AD默认密钥有效期为1年)

如果以上排查都没问题,可以把Flow的HTTP操作配置截图(隐去敏感信息)放出来,能更精准地定位问题。

内容的提问来源于stack exchange,提问作者Peter Rundqvist

火山引擎 最新活动