2014-07-14 25 views
0

我们在SharePoint O365库中有文件,需要通过Excel电子表格以编程方式设置的自定义内容类型。内容类型在库中启用。电子表格包含文件名以及要分配的内容类型。这是Notes的迁移项目的一部分。Sharepoint Web服务:更新基于Office的XML文件的内容类型

我使用的是来自Excel(MSXML2.XMLHTTP,UpdateListItems)的Web服务,它对我们90%的文件工作正常,除了基于Office XML的文档,例如:xlsx,docx,pptx,xlsm等。出于某种原因,我无法通过这些文件的Web服务更新内容类型。较旧的2003到2007 Office文件(如xls,doc和ppt)工作得很好。

我可以手动为库中的这些文件更改内容类型,但其中有17,000个(跨越200多个站点),因此手动解决方案并不理想。当我手动更改类型,然后测试Web服务将其更改回Document(默认)时,它可以工作。我甚至尝试将库的默认值更改为我需要设置的值,但没有运气。由于代码适用于大多数文件,只是不是这些类型,我不确定发布代码是否重要,但如果您想查看任何内容,请告诉我。

有关如何使用Web服务将内容类型分配给基于Office XML的文档的任何帮助,将不胜感激。

更新:
我应该指出,即使内容类型没有被设置,Web服务响应不产生错误代码/消息。我已经验证了UpdateListItems请求的XML,它显示了正确的内容类型被发送,而不是为这些文件类型设置。

修正:
我不能“回答”我自己的问题前8小时之内,但我已经解决了这一点,通过事故。我们有一个托管元数据列(术语集),同时我也在填充。我从XML请求中移除了托管元数据行,并移除了填充的内容类型。

看起来对于这些基于Office XML的文件,您必须分别更新每个字段;不在相同的更新请求中,也不以特定的顺序。我必须首先填充内容类型,然后发送另一个更新请求来填充托管元数据列。这很奇怪,其他文件没有这个问题。

问候, 罗伯特

回答

0

现在,它是8小时后,正式关闭话题。请在原始帖子中的“固定”下查看我的更新。

相关问题