如何解决PowerAutomate调用Xero API认证时的'invalid_request'错误?
解决Xero API Client Credentials模式下的
invalid_request错误 以下是针对性的排查和修复步骤:
确认Base64编码逻辑正确
必须严格按ClientID:ClientSecret的格式拼接字符串(中间是英文冒号,无空格或多余字符),再对整个拼接结果做Base64编码,不能分开编码ClientID和ClientSecret后再拼接。检查Authorization请求头格式
头值必须是Basic 编码后的字符串,注意Basic后面有且仅有一个英文空格,不能省略或多输入空格。Power Automate中要确保完整配置该前缀,不能只填入编码后的字符串。验证请求体参数与格式
Client Credentials模式下,请求体必须包含:grant_type=client_credentials- 若需指定租户,需额外添加
tenant_id=你的租户ID(未指定时可能触发错误)
同时要确保请求体的内容类型为application/x-www-form-urlencoded,Power Automate中需正确选择该类型,不能使用JSON格式提交。
核对请求端点URL
确认请求的是Xero官方令牌端点:https://identity.xero.com/connect/token,避免域名或路径拼写错误。检查应用后台配置
登录Xero开发者后台,确认你的应用已启用Client Credentials授权模式,添加了所需的API权限(如accounting.transactions.read等),且已关联正确的租户。
若调整后仍报错,建议在Power Automate中开启请求日志,查看完整的请求头和请求体,对比Xero官方文档的示例排查格式差异。
内容的提问来源于stack exchange,提问作者JanBanJuveh
相关产品推荐
相关产品推荐

