2017-09-20 4 views
0

Je suis aux prises avec la création d'un ensemble de documents via l'API REST dans SharePoint Online. La seule solution que j'ai trouvé en train de faire ce utilisait l'ancien SharePoint 2010 interface REST de la manière suivante:Créer un ensemble de documents avec REST dans SharePoint Online

$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 sont ceux:

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

L'id est l'id de mon type de contenu personnalisé, dérivé à partir du jeu de documents.

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

Cela fonctionne pour moi, mais un dossier régulier est créé. Aucun ensemble de documents. Est-ce que quelqu'un sait si cela fonctionne toujours dans SharePoint Online? Les seules entrées que j'ai trouvés au sujet de SharePoint 2013.

Mise à jour: je courais le même script sur mon SharePoint 2013 sur Prémisse Server et il fonctionne parfaitement. Le jeu de documents est créé. Microsoft a changé cela il y a quelques mois. C'était autrefois possible!

+0

vous utilisez l'ID de type de contenu incorrect. Pour l'ensemble de document, il devrait être '0x0120D520' –

+0

Non, mon id est dérivé de cela. Comme je l'ai déjà écrit: "L'identifiant est l'identifiant de mon type de contenu personnalisé, dérivé de l'ensemble de documents." Si j'utilise "0x0120D520" j'ai le même problème. Un dossier est créé ... –

Répondre

0

D'accord, j'ai trouvé une solution. Depuis un moment, il n'est plus possible de créer un jeu de documents via REST si l'ID de type de contenu de sites est utilisé. Dans mon cas, j'ai dû utiliser l'identifiant du type de contenu dans la bibliothèque. Je suis donc allé dans les paramètres de ma bibliothèque, j'ai sélectionné mon type de contenu et je l'ai copié. L'ID diffère un peu. Dans mon cas était 0x0120D5200085474276CB6D314E9BC0E6F067D47DBE. Mais dans votre cas, cela aura l'air différent. Si j'utilise cet identifiant, mon jeu de documents est créé avec succès! Cela m'a pris des heures pour le savoir.