我想在 API 管理中管理几个 dataverse API,因此我创建了应用程序注册并使用该客户端 ID 来生成令牌。我在 Postman 中尝试了这一点,效果很好,我想设置我的 API 管理,所以首先我添加 Oauth2,然后在我的 API 中,我为 API 使用此 Oauth2 设置。然后我尝试测试它,令牌已生成,但我仍然收到未经授权的响应,我的第一个猜测是,在生成令牌时,我没有添加资源参数,即我的 dataverse URL。然后我回到我的 Oauth2 设置,我只是注意到没有参数可以添加它。然后我去Google搜索,发现旧的API管理有一个参数,所以我们可以在那里添加资源。他们删除了它还是这是一个错误?或者也许有一种新的方法可以在生成令牌时添加参数? 这是新的 API 管理 这是我在互联网上找到的旧 API 管理
我已在 Azure APIM 中配置了 OAuth2,以便通过以下方式调用 Dataverse API -
使用 v2 端点进行 Oauth2 配置。
启用OAuth 2.0
我正在 Entra 中添加授权代码授予流重定向 URI。
在清单中进行
"accessTokenAcceptedVersion": 2
以及 API 权限的以下更改。
完成所有这些更改后,我使用开发者门户调用了以下 URL。
GET https://org******.crm.dynamics.com/api/data/v9.2/WhoAmI
选择授权码后,系统将提示您登录。成功登录后,不记名令牌将被修改为请求标头。
输出:
尝试将范围传递为
https://*********.crm.dynamics.com/.default
并按照我的步骤操作,您也会得到输出。