关于 Dynamics 365 API 和访问采购订单的困惑

问题描述

因此,我对 Dynamics 365 API 感到非常困惑。

我已经成功地使用 OUATH2 对我们的实例进行了身份验证,并且已经使用令牌来获取诸如公司列表之类的内容

https://api.businesscentral.dynamics.com/v2.0/Production/api/v2.0/companies

然而,当我尝试访问其他元素时,服务器返回的神秘错误似乎没有尽头,而且似乎没有尽头需要爬过才能到达的兔子洞想办法。更具体地说,上面显示的表单的端点似乎无法通过动态“Web 服务”配置页面获得,而是仅显示 Odata4、Odata 和 SOAP URL。

所以这里有一些问题:

1 - 是否有一种标准方法可以将 OData4 端点映射到(在我看来是)更“标准”的端点。对于上面显示的示例,OData4 端点的格式为:

`https://api.businesscentral.dynamics.com/v2.0/<TENANT_ID>/SandBox/ODataV4/Company`

返回数据很好。通过 OData4 端点通过 Web 服务公开给 API 的所有元素是否也可以通过“标准”端点获得?

2 - 如何确定特定端点所需的密钥是什么?我现在的症结是我可以使用 OData4 端点找到采购订单,但我无法找到采购订单行项目。获得采购订单列表后,我尝试通过端点查找行项目列表:

https://api.businesscentral.dynamics.com/v2.0/<TENAND ID>/Production/ODataV4/Company('COMPANY_ID')/PurchaSEOrderLine

但是当我尝试传递“否”时,返回的错误是“查询语法错误”(好吧,我会接受)。当我使用复数端点时,PurchaSEOrder 的值作为参数,或“未设置 API 所需的数据。要设置数据,请从 API 设置页面调用操作”。那么,公约是什么?这些 Odata4 端点什么时候是复数,什么时候是单数?我如何找出获取物品所需的钥匙的种类、数量和顺序?

3 - 我需要暴露其他东西吗?即使看起来元素已经暴露,我该如何做这些事情?我看到过如下错误

尝试时从 JSON 读取器读取了“StartObject”类型的节点 读取属性“PurchaSEOrderPurchLines”的内容; 但是,需要一个“StartArray”节点

或者,

未设置 API 所需的数据。要设置数据,请从 API 设置页面调用操作。

或者,

“NAV.PurchaSEOrder”类型不存在“PurchaSEOrderLines属性。确保只使用由类型定义的属性名称

最后一个很有趣,因为我试图发布一个 PurchaSEOrder 并且还在负载中包含嵌套的行项目。 (tf) 在这里给出了什么?

4 - 访问事物的最佳方法是什么?是使用“标准”端点更可取,还是我应该与 OData4 端点作斗争,虽然在 Web 服务配置中指出,但似乎没有很好的响应。

5 - 为什么这该死的东西如此神秘?只是我,还是故意使之变得迟钝?所谓的“文档”绝对令人震惊。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)