AAD/OAuth 是使用 D365 API 进行身份验证的唯一方法吗?

Is AAD/OAuth the only way to authenticate with D365 APIs?

Dynamics 365 显然是一个很大的话题,而我对此知之甚少。

如果我想使用自动化流程访问 D356 中的少数 Web 服务端点,是否有替代 AAD/OAuth 的身份验证方法?到目前为止,我遇到的示例还没有解决 automated/non-interactive D365 API 访问。

is similar to mine, however the accepted solution (Basic Auth/Web Service Access Key) is going away soon. It's also referring to a 'Connect App', and I'm thinking I'd rather hit an API directly.

Context:目前,我有一个与本地 NAV DB 的自动单向同步,当存在更改时直接更新少量数据库表 - 这并不复杂。一旦我的 IT 部门将他们的 NAV DB 迁移到 MS Dynamics 360,我需要重新实施它。

我了解 BC tables/objects can be exposed as web service end-points,并且我希望通过 Web-api 访问 (OData) 我当前正在直接更新的表。

但是,身份验证似乎是个问题。 D365 指南似乎是 OAuth(授权代码授予),鉴于其交互性,它不会立即适用于自动化流程。有其他选择吗?

简短的回答:通过 Azure 应用程序注册的 OAuth 是您使用 Business Central API 进行身份验证的唯一选择。


根据您需要更新的表格,您可能必须为 Business Central 创建一个扩展,通过 API 页面公开相关表格。直接写入数据库没有捷径

如果您已经在创建扩展,您还可以考虑将数据从源中提取到 Business Central。然后您可以使用您选择的身份验证方法(如果您可以完全控制源系统)。

一个变通解决方案可能是import your data through RapidStart,但它的性能不是很好。这取决于所需的更新频率。

最后但同样重要的是:AppSource 上有很多可用的扩展,它们要么提供与另一个系统的集成(例如 D365 Sales),要么允许您进行自定义数据导入(例如 EDI)。