在SharePoint Online中使用REST创建文档集

在SharePoint Online中使用REST创建文档集,rest,sharepoint,sharepoint-2010,office365,Rest,Sharepoint,Sharepoint 2010,Office365,我正在努力通过SharePoint online中的REST API创建文档集。我发现的唯一解决方案是通过以下方式使用旧的SharePoint 2010 REST界面: $http({ method: "POST", url: url + "/_vti_bin/listdata.svc/" + listTitle, data: JSON.stringify(docSetOptions), headers: { "Accept": "application/json;oda

我正在努力通过SharePoint online中的REST API创建文档集。我发现的唯一解决方案是通过以下方式使用旧的SharePoint 2010 REST界面:

$http({
  method: "POST",
  url: url + "/_vti_bin/listdata.svc/" + listTitle,
  data: JSON.stringify(docSetOptions),
  headers: {
    "Accept": "application/json;odata=verbose",
    "content-type": "application/json;odata=verbose",
    "X-RequestDigest": $('#__REQUESTDIGEST').val(),
    "Slug": _spPageContextInfo.siteServerRelativeUrl + "/" + url + docSetOptions.Path + "/" + docSetOptions.Title + "|" + docSetOptions.ContentTypeId,
  }
}).success(function (data, status, headers, config) {
  logtoconsole("document set created");
}).error(function (data, status, headers, config) {
  logtoconsole("document set error");
});
Docset选项包括:

            var folder = new
            {
                Title = "foo",
                Path = "foo",
                ContentTypeId = "0x010050D9126DC6276846BF6D869EF2090EAD",
                ContentType = "SP.Data.Shared_x0020_DocumentsItem",
            };
id是从文档集派生的自定义内容类型的id

资料来源:

这对我适用,但会创建一个常规文件夹。没有文档集。有人知道这在SharePoint Online中是否仍然有效吗? 我找到的唯一条目是关于SharePoint 2013的

更新:我在SharePoint 2013内部部署服务器上运行了相同的脚本,它运行得非常完美。创建文档集。微软几个月前改变了这一点。这曾经是可能的

好吧,我找到了解决办法。 如果使用了站点内容类型id,那么很快就不可能再通过REST创建文档集了。 在我的例子中,我必须使用库中内容类型的id。 所以我去了我的库设置,选择了我的内容类型并复制了它。这个 身份证有点不同。我的例子是0x0120D5200085474276CB6D314E9BC0E6F067D47DBE。但在你的情况下,情况会有所不同。 如果我使用此id,我的文档集将成功创建!
我花了几个小时才弄清楚

您使用的内容类型id不正确。对于文档集,它应该是
0x0120D520
no,我的id就是从中派生出来的。就像我已经写的:“id是我的自定义内容类型的id,从文档集派生而来。”如果我使用“0x0120D520”,我也会遇到同样的问题。已创建文件夹…即使从数据中删除ContentType键,该文件夹也可以工作