Power Automate调用MS Graph获取授权时提示缺少grant_type参数问题排查
解决AADSTS900144: 缺少grant_type参数的问题
针对你遇到的错误,以下是几个关键问题点及修复方案:
1. URI路径错误
你的请求URI缺失租户ID,且存在多余斜杠,导致请求路径无效。正确的URI格式应为:
https://login.microsoftonline.com/{你的租户ID}/oauth2/token
将{你的租户ID}替换为实际的Azure租户ID,确保路径中仅用单个斜杠分隔租户ID与oauth2/token。
2. Content-Type请求头格式错误
请求头的content-type键包含多余空格,HTTP头的键名不允许存在多余空格,这会导致服务器无法正确识别请求体的编码格式,进而无法解析grant_type参数。修改后的请求头应为:
"headers": { "Content-Type": "application/x-www-form-urlencoded" }
3. 请求体参数配置问题
- 确保
client_id和client_secret填写了Azure注册应用的实际值,空参数可能引发请求解析异常。 - 在Power Automate中,建议将HTTP请求的Body类型设置为"application/x-www-form-urlencoded",然后逐个添加参数(如
client_id、resource、grant_type等),而非直接拼接字符串。这种方式会让Power Automate自动处理正确的参数编码,避免字符串拼接带来的格式问题。
修改后的请求内容示例
{ "uri": "https://login.microsoftonline.com/你的租户ID/oauth2/token", "method": "POST", "headers": { "Content-Type": "application/x-www-form-urlencoded" }, "body": "client_id=你的应用ID&resource=https://graph.microsoft.com&grant_type=password&client_secret=你的应用密钥&username=你的用户名&password=你的密码" }
内容的提问来源于stack exchange,提问作者Gary Mc
相关产品推荐
相关产品推荐

