You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Web API在Dynamics365中创建SharepointDocumentLocation

问题根因

你遇到的报错由三个常见错误导致:

  • 误用不存在的导航属性:sharepointdocumentlocation_parent_sharepointsite并非云版Dynamics 365底层Dataverse平台中sharepointdocumentlocation实体的合法导航属性。
  • 混淆导航属性方向:你传入的customEntity_SharePointDocumentLocations@odata.bind是1对多关系的集合导航属性,作用是从自定义实体反查关联的所有文档位置,不能在创建文档位置时用于单记录关联绑定。
  • 不符合多态查找绑定规则:ParentLocationOrSite和RegardingObjectId都属于多态查找字段(可关联多种实体类型的记录),Dataverse OData v4接口不支持直接对多态字段本身加@odata.bind传参,必须使用对应目标实体类型的专属单值导航属性。
正确传参规则

两个核心字段的绑定方式如下:

  • 父级对象(ParentLocationOrSite)绑定:
    • 父级为SharePoint站点时,使用导航属性 parentsiteorlocation_sharepointsite@odata.bind
    • 父级为上级SharePoint文档位置时,使用导航属性 parentsiteorlocation_sharepointdocumentlocation@odata.bind
  • 业务对象(RegardingObjectId)绑定:
    • 关联任意实体(含自定义实体)时,使用导航属性 regardingobjectid_<目标实体逻辑名>@odata.bind
    • 禁止使用1对多方向的集合导航属性,必须使用多对一方向的单值导航属性
  • 格式要求:所有@odata.bind的参数值必须为以/开头的实体相对路径,格式为/<实体集名>(记录ID)
正确请求示例

针对你的场景,可直接参考以下POST请求:

POST /api/data/v9.2/sharepointdocumentlocations
Accept:application/json
Authorization: Bearer <替换为你的有效JWT令牌>
Content-Type:application/json
OData-Version: 4.0
OData-MaxVersion: 4.0

{
    "name": "WebDocuments",
    "description": "Some useful description",
    "parentsiteorlocation_sharepointsite@odata.bind": "/sharepointsites(0f66e9e3-5dfc-ec11-82e5-0022489f9669)",
    "relativeurl": "site",
    "regardingobjectid_my_customentity@odata.bind": "/my_customentities(a654d179-ab61-ec11-8f8f-000d3a64d05c)"
}

注意:如果你的自定义实体集名不是my_customentities,请替换为实际值。自定义实体默认实体集名为实体Schema名加s,可通过实体元数据查询确认。

前置校验项

调用接口前请确认以下配置,避免接口返回成功但文档管理功能异常:

  • 目标自定义实体已在Dynamics 365中启用SharePoint文档管理功能
  • 绑定的SharePoint站点记录在Dynamics 365中处于有效、验证通过的状态
  • 调用接口所用的用户/应用账号对sharepointdocumentlocations、目标自定义实体、sharepointsites实体拥有创建、读取权限

内容的提问来源于stack exchange,提问作者marc_s

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.27 14:48:15