首页 > 解决方案 > 在 Microsoft Flow/Power Automate 中使用 Azure AD 输入 HTTP 标头时出现“输入有效的 json”

问题描述

我正在设置一个流程,该流程将对受保护的 API 发出 API 请求。由于它需要身份验证,因此我将 HTTP 与 Azure AD 结合使用。我能够正确登录,并且似乎获得了授权码:

在此处输入图像描述

我想将此代码交换为访问令牌,因此我正在调用此 HTTP 请求:

在此处输入图像描述

它抱怨标题不是有效的 json。我也不确定在 Body 中包含什么来交换访问令牌的授权代码。

标签: authenticationazure-active-directorypower-automate

解决方案


由于我对这个连接器了解不多,所以很抱歉我无法向您解释为什么您的 API 调用仍需要登录(您在上一篇文章中询问过)。但如果只是为了你上面提供的问题和截图,我可以提供一些建议供你参考。

在您的电源自动化中,您可以添加一个“初始化变量”操作来初始化一个名为“header”的变量并设置如下截图所示的值: 在此处输入图像描述

然后您可以使用“解析 JSON”操作来解析这个变量(将其转换为 json 格式) 在此处输入图像描述

现在,您可以使用“Parse JSON”中的“Body”作为“Invoke an HTTP request”中“Headers”框的值。它将解决标头不是有效 json 的问题。

对于“请求正文”的值,您可以按照我在上一篇文章中提供的值输入:

grant_type=password&client_id=xxxxx&scope=xxxxx&username=xxxxx&password=xxxxxclient_secret=xxxxx

希望对你的问题有所帮助~


推荐阅读