gpt4 book ai didi

sharepoint-2013 - 使用 SharePoint REST API 将值设置为多值托管元数据字段类型时出错

转载 作者:行者123 更新时间:2023-12-05 07:09:31 29 4
gpt4 key购买 nike

我的列表中有两个托管元数据字段,它们都可以有多个值,第一个是'mm',第二个是丹麦符号< strong>Ø - 'mm_Ø'。我使用 SharePoint REST API 端点获取字段信息:

GET https://{tenant}.sharepoint.com/{site-path}/_api/Web/Lists(guid'{list-id}')/fields

在响应中我看到了我的字段定义:'mm' 字段是:

 {
"odata.type": "SP.Taxonomy.TaxonomyField",
***
"CanBeDeleted": true,
"ClientSideComponentId": "00000000-0000-0000-0000-000000000000",
"ClientSideComponentProperties": null,
"ClientValidationFormula": null,
"ClientValidationMessage": null,
"CustomFormatter": null,
"DefaultFormula": null,
"DefaultValue": "",
"Description": "",
"Direction": "none",
"EnforceUniqueValues": false,
"EntityPropertyName": "mm",
"Filterable": true,
"FromBaseType": false,
"Group": "Custom Columns",
"Hidden": false,
"Id": "f863fab3-5611-4d81-82f9-299c42e6258c",
"Indexed": false,
"IndexStatus": 0,
"InternalName": "mm",
"JSLink": "SP.UI.Taxonomy.js|SP.UI.Rte.js(d)|SP.Taxonomy.js(d)|ScriptForWebTaggingUI.js(d)",
"PinnedToFiltersPane": false,
"ReadOnlyField": false,
"Required": false,
"SchemaXml": "***",
"Scope": ***,
"Sealed": false,
"ShowInFiltersPane": 0,
"Sortable": false,
"StaticName": "mm",
"Title": "mm",
"FieldTypeKind": 0,
"TypeAsString": "TaxonomyFieldTypeMulti",
"TypeDisplayName": "Managed Metadata",
"TypeShortDescription": "Managed Metadata",
"ValidationFormula": null,
"ValidationMessage": null,
"AllowMultipleValues": true,
"DependentLookupInternalNames": [],
"IsDependentLookup": false,
"IsRelationship": true,
"LookupField": "Term$Resources:core,Language;",
"LookupList": "{6eaf0d27-f293-4017-bac5-b3ef9b3fe079}",
"LookupWebId": "e0087d65-0dcb-41a5-bb7c-c4b2f94fed59",
"PrimaryFieldId": null,
"RelationshipDeleteBehavior": 0,
"UnlimitedLengthInDocumentLibrary": false,
"AnchorId": "00000000-0000-0000-0000-000000000000",
"CreateValuesInEditForm": false,
"IsAnchorValid": true,
"IsKeyword": false,
"IsPathRendered": false,
"IsTermSetValid": true,
"Open": true,
"SspId": "a1796552-9a87-4f1d-95d5-b4a3fc8f143d",
"TargetTemplate": null,
"TermSetId": "8ed8c9ea-7052-4c1d-a4d7-b9c10bffea6f",
"TextField": "93148f4a-853f-4851-a600-3f76b38d030a",
"UserCreated": false
}

还有 'mm_Ø' 字段:

{
"odata.type": "SP.Taxonomy.TaxonomyField",
***
"AutoIndexed": false,
"CanBeDeleted": true,
"ClientSideComponentId": "00000000-0000-0000-0000-000000000000",
"ClientSideComponentProperties": null,
"ClientValidationFormula": null,
"ClientValidationMessage": null,
"CustomFormatter": null,
"DefaultFormula": null,
"DefaultValue": "",
"Description": "",
"Direction": "none",
"EnforceUniqueValues": false,
"EntityPropertyName": "mm__x00d8_",
"Filterable": true,
"FromBaseType": false,
"Group": "Custom Columns",
"Hidden": false,
"Id": "8b6cb6c7-5bdf-4e87-95e0-8ad6db1bc60e",
"Indexed": false,
"IndexStatus": 0,
"InternalName": "mm__x00d8_",
"JSLink": "SP.UI.Taxonomy.js|SP.UI.Rte.js(d)|SP.Taxonomy.js(d)|ScriptForWebTaggingUI.js(d)",
"PinnedToFiltersPane": false,
"ReadOnlyField": false,
"Required": false,
"SchemaXml": "***",
"Scope": ***,
"Sealed": false,
"ShowInFiltersPane": 0,
"Sortable": false,
"StaticName": "mm__x00d8_",
"Title": "mm_Ø",
"FieldTypeKind": 0,
"TypeAsString": "TaxonomyFieldTypeMulti",
"TypeDisplayName": "Managed Metadata",
"TypeShortDescription": "Managed Metadata",
"ValidationFormula": null,
"ValidationMessage": null,
"AllowMultipleValues": true,
"DependentLookupInternalNames": [],
"IsDependentLookup": false,
"IsRelationship": true,
"LookupField": "Term$Resources:core,Language;",
"LookupList": "{6eaf0d27-f293-4017-bac5-b3ef9b3fe079}",
"LookupWebId": "e0087d65-0dcb-41a5-bb7c-c4b2f94fed59",
"PrimaryFieldId": null,
"RelationshipDeleteBehavior": 0,
"UnlimitedLengthInDocumentLibrary": false,
"AnchorId": "00000000-0000-0000-0000-000000000000",
"CreateValuesInEditForm": false,
"IsAnchorValid": true,
"IsKeyword": false,
"IsPathRendered": false,
"IsTermSetValid": true,
"Open": true,
"SspId": "a1796552-9a87-4f1d-95d5-b4a3fc8f143d",
"TargetTemplate": null,
"TermSetId": "8ed8c9ea-7052-4c1d-a4d7-b9c10bffea6f",
"TextField": "b658e553-725e-4e24-9a6a-c911b50d68a4",
"UserCreated": false
}

现在,我想使用 REST 端点在该列表中创建一个项目:

POST https://{tenant}.sharepoint.com/{site-path}/_api/Web/Lists(guid'{list-id}')/items

首先,我尝试创建一个仅填充 mm 字段的项目正文:

{
"Title": "Item1",
"f863fab356114d8182f9299c42e6258c": "taxonomy|24a5a5fa-7a1d-48d6-8a2d-7937429dfd71;taxonomy2|23901385-e142-458c-85f2-4b5ca5dbd812"
}

而且它有效。现在我想做同样的事情,但要填充 'mm_Ø' 字段。正文:

{
"Title": "ee",
"l910ce92c882443cb3134a7aeed731f7": "taxonomy|24a5a5fa-7a1d-48d6-8a2d-7937429dfd71;taxonomy2|23901385-e142-458c-85f2-4b5ca5dbd812"
}

我得到的响应:

{
"odata.error": {
"code": "-2130575340, Microsoft.SharePoint.SPException",
"message": {
"lang": "en-US",
"value": "One or more field types are not installed properly. Go to the list settings page to delete these fields."
}
}
}

这是否意味着托管元数据中包含非英语符号会导致 SharePoint REST API 失败?

最佳答案

据我所知,如果元数据字段标题太长(每个非标准英文字母为 8 个字母),则会出现此错误。

除了重命名为更短/无特殊字符的名称外,找不到解决方案。

另一种解决方案是使用这个新的 API:

https://[tenant].sharepoint.com/sites/test/_api/web/GetList(@a1)/AddValidateUpdateItemUsingPath()?@a1=%27%2Fsites%2Ftest%2FLists%2FMyList%27

===更新===找到了解决方案,可能对你有帮助。在我们的例子中,隐藏的注释字段的标题是用错误的值创建的。它应该是“[元数据标题]_0”,但特殊字符被截断了。

如果我手动将隐藏注释字段的标题更新为“[元数据标题]_0”,更新将按预期进行。

这让我相信后端的 API 依赖字段标题而不是内部名称/TextField 属性将注释字段的值映射回元数据字段。

关于sharepoint-2013 - 使用 SharePoint REST API 将值设置为多值托管元数据字段类型时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61519869/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com