我需要用SharePoint 2013的REST API在指定的文件夹中添加一个ListItem,但我遇到了问题。
如果使用客户端对象模型,代码应该如下:
var creationInfo = new SP.ListItemCreationInformation();
creationInfo.FolderUrl = "/Lists/MyList/MyFolder";
var item = list.addItem(creationInfo );
item.update();
ctx.executeQueryAsync(
Function.createDelegate(this, onSuccess),
Function.createDelegate(this, onFail));
但是当我试图通过Rest服务设置FolderUrl时
{ '__metadata' : { 'type': 'SP.Data.MyListListItem' }, 'Title': 'NewItemInFolder', 'FolderUrl': '/sites/example/Lists/MyList/MyFolder' }
我收到了一个400 Bad Request的错误。
我尝试先将一个ListItem添加到列表中,然后再更新FolderUrl,但这也不起作用。
如何使用Rest-Api在SharePoint中向列表文件夹添加ListItem?
编辑:
{ '__metadata' : {
'type': 'SP.Data.MyListListItem',
'type': 'SP.Data.ListItemCreationInformation'
},
'Title': 'NewItemInFolder',
'FolderUrl': '/sites/example/Lists/MyList/MyFolder'
}
我已经尝试过使用
ListItemEntityTypeFullName
和我的列表实体以及ListItemCreationInformation
,但我仍然只得到了400 Bad Request错误。当我使用Fiddler查看请求时,我发现SharePoint现在忽略了我的列表实体类型
SP.Data.MyListItem
。
ListItemEntityTypeFullName
,这就是为什么它是MyListListItem。我将使用ListItemCreationInformation尝试它。 - Mark