我有几个dataverse API,我想在API管理中管理,所以我创建了应用程序注册并使用该客户端ID生成令牌。我在Postman中尝试了这个,它工作得很好,我想设置我的API管理,所以首先我添加Oauth2,然后在我的API中,我为API使用这个Oauth2设置。然后我试着测试它,生成了令牌,但我仍然得到了未经授权的响应,我的第一个猜测是,在生成令牌时,我没有添加一个资源参数,这是我的dataverse URL。然后我回到我的Oauth2设置,我只是注意到没有参数添加它。然后我去谷歌搜索,我发现旧的API管理有一个参数,所以我们可以在那里添加资源。他们把它删除了还是这是一个bug?或者,在生成令牌时,可能有一种新的方法来添加参数?这是新的API管理
,这是我在互联网上找到的旧API管理
1条答案
按热度按时间js5cn81o1#
我已经在Azure APIM中配置了OAuth2,以便通过以下方式调用Dataverse API-
使用v2端点进行Oauth2配置。
启用OAuth 2.0
我正在Entra中添加授权代码授予流重定向URI。
在Manifest和下面的API权限中更改了
"accessTokenAcceptedVersion": 2
。完成所有这些更改后,我使用Developer Portal调用下面的URL。
选择authorization_code后,系统将提示您登录。成功登录后,承载令牌将被修改为请求报头。
输出:
尝试将scope作为
https://*********.crm.dynamics.com/.default
传递并按照我的步骤进行操作,您也会得到输出。