我正在尝试尝试新的CRM Admin,它位于这里:https://admin.services.crm.dynamics.com/swagger/ui/index,但是每次我尝试运行一个调用时,响应消息都是相同的:
“消息”:“此请求的授权已被拒绝。”
我遗漏了什么?我假设,无论我登录到CRM中的哪个用户目前都使用chrome,这将是发出管理调用的用户上下文,但也许我错了?
发布于 2017-10-06 07:48:37
swagger不能用于测试服务。为了能够使用新的管理API发送和检索数据,您必须为在在奥斯博士中具有Dynamics或Global角色的用户获得一个有效的OAuth2.0令牌(参见前两句在奥斯博士) (参见关于管理角色在医生里的第一部分)。
当您通过浏览器登录时,您只会得到一个表示登录会话的cookie,而不是一个OAuth令牌。Auth0有一篇很好的文章关于cookie和基于令牌的身份验证之间的区别,但是在本例中相关的部分是它们不一样,因此您需要显式地获得OAuth2.0令牌。
微软在其swagger中包含的是一个API密钥字段。可以从Azure应用程序注册中生成一个API密钥(有关如何生成密钥的更多信息可以找到在AAD文档中)。不幸的是,正如我前面所指出的,MSDYN365管理API要求经过身份验证的客户端至少具有用于Dynamic的角色。这些角色是用户角色,不能委托给AAD应用程序注册,您只能为它们使用App角色。
这意味着你在一块石头和一个你没有被授权使用的硬地方之间,所以你可以使用定义的“唯一”事情就是简化与你自己的应用程序的集成。
https://stackoverflow.com/questions/46569991
复制相似问题