如何创建具有相关术语/分类法的共享点列表项目

问题描述 投票:0回答:1

问题是文档中不清楚如何在有效负载中设置这些值。很明显,从 UI 来看你显然可以,但使用 Graph API 似乎不起作用。

我正在尝试创建一个列表项,但我不清楚如何提供 TermGuid。

我尝试过这样的事情:

payload = {
    "fields": {
         "Title": "My item",
         "CustomMetadataField": {
              "TermGuid": "[uuid]"
         }
    }

}

但我总是收到 400 错误。

我也尝试过这样的事情:

payload = {"fields": {"CustomMetaDataField": "-1;#Label|uuid"}}

这些都不起作用。

sharepoint microsoft-graph-api
1个回答
0
投票

您无法直接设置托管元数据字段的值,但需要设置与托管元数据字段关联的隐藏列名称的值。

列出包含隐藏列的所有列

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}

© www.soinside.com 2019 - 2024. All rights reserved.