api - 使用超级用户访问云上商务中心 sanbox (api v2.0) 中的公司列表
问题描述
我在云中设置了 3 个沙箱环境,然后尝试访问以下 API 之一(使用带有 Web 服务访问密钥的基本身份验证),它可以在浏览器中运行:
- Test1是我的环境的名称
到目前为止一切都很好,但是如果我尝试获取公司列表,尽管我在所有环境/公司中都是超级用户,但我会收到以下错误: https ://api.businesscentral.dynamics.com/v2.0/Test1/ api/v1.0/公司
响应:
{
error: {
code: “Authentication_InvalidCredentials”,
message: “The server has rejected the client credentials. CorrelationId: f32a193e-5426-44f9-ab18-4e331950fe63.”
}
}
仅供参考:我确定我的凭据是正确的,因为如果我更改它们,那么我将无法获得#metadata。
任何想法?
解决方案
我找到了答案,这就是我所做的:
- 在 azure 中找到您的组织的 ID
在版本号之后将其注入 api url
您需要在 Azure “应用程序注册”中注册一个新应用程序,以便稍后获得用于身份验证的端点
- 使用该端点获取“承载令牌”
在 http 标头中使用不记名令牌并调用以下 API
https://api.businesscentral.dynamics.com/v2.0/ {您的组织 GUID ID}/Test1/api/v1.0/companies
推荐阅读
- ruby-on-rails - select2 rails 通过过滤器选项搜索?
- angular - 使用 ionic 3 和 angular 5 在我的应用程序中列出本地 mp3 文件
- jquery - 删除某些 div 元素的父 href 属性
- rest - 如何将多种安全机制应用于 Swagger 生成的 REST 服务?
- python - Kafka:如何根据时间戳消费数据
- monaco-editor - 从 Monaco 编辑器中删除 Listner
- powershell - ConEmu:启动 PowerShell 的问题
- avfoundation - 如何一次下载多个视频?
- multithreading - Qt中术语“事件循环”wrt线程的含义是什么?
- algorithm - 如何找到连接不同联合之间不同节点的最佳方式?