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

如何通过Graph API创建含关联术语的SharePoint列表项?遇400错误

解决Graph API创建SharePoint列表项时关联托管元数据字段的问题

你之前的两种写法都不符合Graph API对托管元数据字段的格式要求,正确的写法如下:

单值托管元数据字段的有效Payload格式

必须指定@odata.type标识字段类型,同时提供术语的TermGuid和Label:

payload = {
    "fields": {
        "Title": "My item",
        "CustomMetadataField": {
            "@odata.type": "#Microsoft.Azure.Connectors.SharePoint.SPListExpandedReference",
            "TermGuid": "你的术语GUID",
            "Label": "对应的术语标签"
        }
    }
}

多值托管元数据字段的有效Payload格式

如果字段允许多选,需要用数组形式,同时声明集合类型的@odata.type:

payload = {
    "fields": {
        "Title": "My item",
        "CustomMetadataField@odata.type": "#Collection(Microsoft.Azure.Connectors.SharePoint.SPListExpandedReference)",
        "CustomMetadataField": [
            {
                "@odata.type": "#Microsoft.Azure.Connectors.SharePoint.SPListExpandedReference",
                "TermGuid": "术语1的GUID",
                "Label": "术语1标签"
            },
            {
                "@odata.type": "#Microsoft.Azure.Connectors.SharePoint.SPListExpandedReference",
                "TermGuid": "术语2的GUID",
                "Label": "术语2标签"
            }
        ]
    }
}

错误原因说明

  • 第一种写法缺少@odata.type,Graph API无法识别这是托管元数据字段,直接返回400错误
  • 第二种用-1;#Label|uuid的格式是SharePoint传统REST API的语法,Graph API不兼容,因此无法生效
  • 额外注意:你代码里出现了CustomMetadataField和CustomMetaDataField(少了一个t),这大概率是笔误,必须和列表字段的内部名称完全一致,否则也会导致请求失败

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.27 16:52:14