在 Microsoft Flow/Power 中使用 Azure AD 为 HTTP 输入 Headers 时获取 "Enter a valid json"

Getting "Enter a valid json" when entering Headers for HTTP with Azure AD in Microsoft Flow/Power Automate

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

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

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

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

在你power-automate中,你可以添加一个"Initialize variable"动作来初始化一个名为"header"的变量,并设置如下截图所示的值:

然后你可以使用"Parse JSON"动作来解析这个变量(将其转换为json格式)

现在您可以使用 "Parse JSON" 中的 "Body" 作为 "Invoke an HTTP request" 中 "Headers" 框的值。它将解决 headers 不是有效 json.

的问题

对于"Body of the request"的值,你可以把我之前提供的值填进去post:

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

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