我需要使用REST从Dataverse表中获取详细信息,为此,我需要生成访问令牌以发送有效的授权头。我已经通过了在Microsoft中使用OAuth身份验证和向Azure注册应用程序并遵循了这些步骤。现在,为了生成访问令牌,我使用带有https://login.microsoftonline.com/{tenantId}/oauth2/v2.0/token端点的POST方法,并将grant_type作为client_credentials传递,资源作为https://management.core.windows.net/与客户端id一起传递,客户端秘密以内容类型作为application/x-www-form-urlencoded。但是我得到了AADSTS901002:不支持“资源”请求参数。
编辑
在API权限选项卡中,我添加了委托权限。

在“身份验证”选项卡中,我没有为流选择任何类型,需要在这里更改吗?

另外,请注意,在令牌配置选项卡中,还没有添加声明或组,没有添加API选项卡,也没有添加任何范围和授权客户端应用程序。如果我需要在这里做任何改变,请告诉我。

更新
当我不传递资源param并与https://{orgId}.crm5.dyanamics.com/.default以及client_id、client_secret和grant_type一起发送作用域时,我能够获得访问令牌,但是当我使用这个令牌来使用https://{orgId}.crm5.dyanamics.com/api/data/v9.0/accounts获取数据时,我得到的用户不是组织的成员。
发布于 2021-12-15 06:20:52
error AADSTS901002:“资源”请求参数不支持,表示请求中提供的资源不正确。
当您试图为Dataverse API生成访问令牌时,资源应该如下:
https://admin.services.crm.dynamics.com/https://stackoverflow.com/questions/70358473
复制相似问题