我正在尝试通过SPA访问Dynamics 365在线API。但是我想使用v2授权端点。我在AAD中注册了我的应用,并分配了Dynamics CRM的权限(我使用的是预览注册刀片,可让我指定Dynamics)。并不是说Dynamics需要征得管理员同意,但是当我在SPA中指定范围时,在同意屏幕上会出现错误,指示我需要管理员同意。
过去我已经成功使用了v1授权端点,所以我怀疑这是我检索访问令牌时如何指定范围的问题。
此API是否需要一些特殊的东西?还没有完全实施吗?
在我请求access_token的作用域参数中,我已经尝试过:
<service guid>/<scope guid>
<service guid>/user_impersonation
https://<tenant>.crm.dynamics.com/user_impersonation
https://crm.dynamics.com/user_impersonation
https://dynamics.com/user_impersonation
最后四个表示需要管理员同意。我尝试了其他几种格式,但是它们会错误地指出格式不正确或资源不存在-这是我得到的。但是我对管理员同意书感到困惑。
任何指导表示赞赏!
答案 0 :(得分:1)
您需要使用以下范围:
https://{organization}.crm.dynamics.com//user_impersonation
。
请注意双斜杠。
答案 1 :(得分:0)
不确定这是否对任何人都有帮助,但是我偶然发现了该线程,以寻找正确的范围的答案,以用于在客户端应用程序中使用MSAL访问Dynamics 365 rest api。
我不需要user_impersonation,因为我只是想以应用程序用户身份访问它。对我有用的范围是: “ https:// {organization} .api.crm3.dynamics.com //。default”