问题是文档中不清楚如何在有效负载中设置这些值。很明显,从 UI 来看你显然可以,但使用 Graph API 似乎不起作用。
我正在尝试创建一个列表项,但我不清楚如何提供 TermGuid。
我尝试过这样的事情:
payload = {
"fields": {
"Title": "My item",
"CustomMetadataField": {
"TermGuid": "[uuid]"
}
}
}
但我总是收到 400 错误。
我也尝试过这样的事情:
payload = {"fields": {"CustomMetaDataField": "-1;#Label|uuid"}}
这些都不起作用。
您无法直接设置托管元数据字段的值,但需要设置与托管元数据字段关联的隐藏列名称的值。
列出包含隐藏列的所有列
GET /v1.0/sites/{site-id}/lists/{list-id}/columns?$select=id,name,hidden,displayName
响应看起来像这样
{
"value": [
{
"displayName": "ManagedMetadata",
"hidden": false,
"id": "062e47e1-021e-4b11-9632-61c8968209a7",
"name": "ManagedMetadata"
},
{
"displayName": "ManagedMetadata_0",
"hidden": true,
"id": "08be9a90-5e7a-404e-b5f8-77121d7973c3",
"name": "g62e47e1021e4b11963261c8968209a7"
}
]
}
假设UI中字段的
name
是ManagedMetadata。此字段有一个隐藏字段,其中包含要在 displayName
请求中使用的 name
ManagedMetadata_0和
POST
g62e47e1021e4b11963261c8968209a7。
POST /v1.0/sites/{site-id}/lists/{list-id}/items
{
"fields": {
"{hidden_field_name}": "{TermGuid}"
}
}
本例中的
{hidden_field_name}
是g62e47e1021e4b11963261c8968209a7。该值为 {TermGuid}
或 -1;{TermName}|{TermGuid}
。