2017-09-20 58 views
0

SharePointオンラインでREST APIを使用してドキュメントセットを作成する際に苦労しています。SharePoint Onlineで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"); 
}); 

docSetOptionsはである::

  var folder = new 
      { 
       Title = "foo", 
       Path = "foo", 
       ContentTypeId = "0x010050D9126DC6276846BF6D869EF2090EAD", 
       ContentType = "SP.Data.Shared_x0020_DocumentsItem", 
      }; 

IDが派生、私のカスタムコンテンツタイプのIDである私は、これは以下のように古いSharePoint 2010のRESTインターフェースを使用していたやった唯一のソリューションドキュメントセットから。

出典:http://www.itidea.nl/index.php/create-a-document-set-using-jsom-and-rest/

これは私のために動作しますが、通常のフォルダが作成されます。ドキュメントセットはありません。これがSharePoint Onlineでまだ動作しているかどうかは誰にも分かりますか?私は前提Server上で私のSharePoint 2013に対して同じスクリプトを実行し、それが完璧に動作します:私が見つけ エントリだけでは、SharePoint 2013

が更新に関するられました。ドキュメントセットが作成されます。マイクロソフトはこれを数ヶ月前に変更しました。これまで可能でした!

+0

あなたは間違ったコンテンツタイプIDを使用しています。ドキュメントセットは '0x0120D520'でなければなりません –

+0

いいえ、私のIDはそれから派生しています。同様に、私は既に書いています: "IDはドキュメントセットから派生した私のカスタムコンテンツタイプのIDです。"私が "0x0120D520"を使用する場合、私は同じ問題を抱えています。フォルダが作成されます... –

答えて

0

私は解決策を見つけました。 サイトコンテンツタイプIDが使用されている場合、REST経由でドキュメントセットを作成することはもうできません。 私の場合は、ライブラリのコンテンツタイプのIDを使用する必要がありました。 私はライブラリの設定に行き、自分のコンテンツタイプを選択してコピーしました。 のIDは少し異なります。私の場合は0x0120D5200085474276CB6D314E9BC0E6F067D47DBEでした。しかし、あなたの場合、それは異なって見えるでしょう。 このIDを使用すると、ドキュメントセットが正常に作成されます。 これは私には分かりませんでした。

関連する問題