尽管已颁发有效令牌,但仍从 Dynamics 365 取回 401
Getting back 401 from Dynamics 365 despite being issued valid token
我正在尝试使用 JavaScript
重写当前连接到 Dynamics 365 的客户端应用程序
let URL = "https://<company-name>.operations.dynamics.com/data/FinancialDimensionValues?cross-company=true";
let body = '';
var headers = {'Content-Type':'application/json'};
let response = ai.https.authorizedRequest(URL, 'GET', body, headers);
目前这个 JavaScript 应用程序可以工作并取回 JSON 数据。我正在尝试使用 C# 重写此应用程序。我首先从 Postman 开始,以确保在继续编写 C# 代码之前我已完成所有身份验证步骤。
使用 Postman,我能够使用 "Client Credentials" 流程成功获取 JWT 令牌,我将客户端 ID 和客户端机密传递给访问令牌请求 URL。但是,当尝试访问 Dynamics 365 中的 API 端点时,即使我正确传递了 JWT 访问令牌,我也会收到 HTTP 401。
这是访问令牌请求URL:
https://login.microsoftonline.com/722b0db7-9629-4304-92a0-dfb4a1debe62/oauth2/token?resource=https://<company-domain-here>.dynamics.com
我在想我必须进行正确的身份验证,否则我将无法取回有效的访问令牌。此外,由于 JavaScript 应用程序已经到位,可以正常工作,我假设 Dynamics 365 已正确配置以允许 API 访问。
我想弄清楚的是我在 Postman 中可能做错了什么导致我收到 401?正在工作的 JavaScript 请求与我通过 Postman 发送的请求之间有什么不同?
问题终于解决了。
如前所述,请遵循提到的 documentation。
如果遇到401错误,这里是最后一招。
在 postman Under Authorization--> Add authorization data to--> select Request Headers.
现在启动查询,您将获得 200 ok。
Ref 帮助我弄明白的文章。
我正在尝试使用 JavaScript
重写当前连接到 Dynamics 365 的客户端应用程序let URL = "https://<company-name>.operations.dynamics.com/data/FinancialDimensionValues?cross-company=true";
let body = '';
var headers = {'Content-Type':'application/json'};
let response = ai.https.authorizedRequest(URL, 'GET', body, headers);
目前这个 JavaScript 应用程序可以工作并取回 JSON 数据。我正在尝试使用 C# 重写此应用程序。我首先从 Postman 开始,以确保在继续编写 C# 代码之前我已完成所有身份验证步骤。
使用 Postman,我能够使用 "Client Credentials" 流程成功获取 JWT 令牌,我将客户端 ID 和客户端机密传递给访问令牌请求 URL。但是,当尝试访问 Dynamics 365 中的 API 端点时,即使我正确传递了 JWT 访问令牌,我也会收到 HTTP 401。
这是访问令牌请求URL:
https://login.microsoftonline.com/722b0db7-9629-4304-92a0-dfb4a1debe62/oauth2/token?resource=https://<company-domain-here>.dynamics.com
我在想我必须进行正确的身份验证,否则我将无法取回有效的访问令牌。此外,由于 JavaScript 应用程序已经到位,可以正常工作,我假设 Dynamics 365 已正确配置以允许 API 访问。
我想弄清楚的是我在 Postman 中可能做错了什么导致我收到 401?正在工作的 JavaScript 请求与我通过 Postman 发送的请求之间有什么不同?
问题终于解决了。 如前所述,请遵循提到的 documentation。
如果遇到401错误,这里是最后一招。
在 postman Under Authorization--> Add authorization data to--> select Request Headers.
现在启动查询,您将获得 200 ok。
Ref 帮助我弄明白的文章。