尽管已获得有效令牌,仍从Dynamics 365中获取401

问题描述 投票:0回答:1

我正在尝试重写当前使用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#代码之前,我已经完成所有身份验证步骤。

使用邮递员,我可以使用“客户端凭据”流程成功获取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访问。

我想弄清楚的是我在邮递员内可能做错了什么,导致我收到401?有效的JavaScript请求与我通过邮递员发送的请求之间可能有什么不同?

api dynamics-crm postman dynamics-365
1个回答
0
投票

问题终于解决了。如前所述,遵循documentation

© www.soinside.com 2019 - 2024. All rights reserved.