gpt4 book ai didi

sharepoint-2010 - 无法使用 Lists.UpdateListItems Web 服务调用更新 SharePoint 2010 的托管元数据字段

转载 作者:行者123 更新时间:2023-12-03 23:36:16 24 4
gpt4 key购买 nike

我正在尝试使用 Lists.UpdateListItems Web 服务更新 SharePoint 托管元数据 (MMD) 字段,但它不起作用。

这是我的 SOAP 请求

<?xml version="1.0" ?>
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
<S:Body>
<UpdateListItems xmlns="http://schemas.microsoft.com/sharepoint/soap/">
<listName>My Test List</listName>
<updates>
<Batch ListVersion="0" PreCalc="TRUE" OnError="Continue">
<Method Cmd="Update" ID="1">
<Field Name="ID">3</Field>
<Field Name="Document_x0020_Title">foo</Field>
<Field Name="Fiscal_x0020_Year1">13;#FY 2006|7e8205da-57a1-45a3-8147-469b795ad6e8</Field>
</Method>
</Batch>
</updates>
</UpdateListItems>
</S:Body></S:Envelope>

此请求将成功更新“文档标题”(文本字段),但 MMD 字段“财政年度”未更改,并且 Web 服务没有返回错误。

请注意,MMD 的值采用“WssId;#TermValue|TermGuid”格式,并且该术语已为站点创建。

请帮忙。

最佳答案

弄清楚了。

我必须使用不同的字段名称。该字段的标签是“Fiscal Year”,但有效的字段名称实际上是“d3c0ddc947ab4b8c90b6a0fe2d4caf09”而不是“Fiscal_x0020_Year1”。所以我的 SOAP 请求看起来像

    <Method Cmd="Update" ID="1">
<Field Name="ID">3</Field>
<Field Name="Document_x0020_Title">foo</Field>
<Field Name="d3c0ddc947ab4b8c90b6a0fe2d4caf09">13;#FY 2006|7e8205da-57a1-45a3-8147-469b795ad6e8</Field>
</Method>

要获取此字段名称,我使用 Lists.GetListContentType Web 服务方法返回字段信息并查找字段类型“Note”。以下是 SharePoint 返回内容的示例
<Field Type="Note" DisplayName="Fiscal Year_0"
StaticName="d3c0ddc947ab4b8c90b6a0fe2d4caf09" Name="d3c0ddc947ab4b8c90b6a0fe2d4caf09"
ID="{1afa458b-d50a-4139-ad8d-f1172774de34}" ShowInViewForms="FALSE" Required="FALSE"
CanToggleHidden="TRUE" SourceID="{77871b4e-f3ba-42dc-8940-ab33fb431099}" Hidden="TRUE"
Version="1" Customization="" ColName="ntext8" RowOrdinal="0"/>

我还发现使用 Lists.GetListContentTypes 方法获取在 Lists.GetListContentType 方法调用中使用的内容类型 ID 很有用。

---- 更新 ——
我发现您不必使用“WssId;#TermValue|TermGuid”的格式。您可以简单地使用“TermValue|TermGuid”。因此,在上面的示例中,该值将是“FY 2006|7e8205da-57a1-45a3-8147-469b795ad6e8”。

这非常有用,因为您可以在不同的站点重复使用相同的值,而前一个值只能在一个站点中使用。对于多值,您只需要用“;”分隔它代替 ”;#”。例如“2006 财年|7e8205da-57a1-45a3-8147-469b795ad6e8;2007 财年|823205da-57a1-45a3-8147-469b795ade13”。

关于sharepoint-2010 - 无法使用 Lists.UpdateListItems Web 服务调用更新 SharePoint 2010 的托管元数据字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11399933/

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