【发布时间】:2016-12-23 16:40:58
【问题描述】:
我在使用 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 Service 设置 FolderUrl 时
{ '__metadata' : { 'type': 'SP.Data.MyListListItem' }, 'Title': 'NewItemInFolder', 'FolderUrl': '/sites/example/Lists/MyList/MyFolder' }
我收到了 400 错误请求
我也尝试过先将 ListItem 添加到 List,然后更新 FolderUrl,但这也没有用。
如何使用 Rest-Api 将 ListItem 添加到 SharePoint 中的列表文件夹?
编辑:
{ '__metadata' : {
'type': 'SP.Data.MyListListItem',
'type': 'SP.Data.ListItemCreationInformation'
},
'Title': 'NewItemInFolder',
'FolderUrl': '/sites/example/Lists/MyList/MyFolder'
}
我现在尝试同时使用 ListItemEntityTypeFullName 列表中的实体和 ListItemCreationInformation 但我也只收到 400 错误请求。
当我使用 Fiddler 查看请求时,我发现 SharePoint 现在正在忽略我的列表实体类型 SP.Data.MyListItem
【问题讨论】:
-
为什么你的'type'属性的值为'SP.Data.MyListListItem'?不应该是“SP.ListItemCreationInformation”吗?
-
如 Msdn link 中所述,它必须是
ListItemEntityTypeFullName,这就是为什么它是 MyListListItem。我将尝试使用 ListItemCreationInformation -
我已经试过了,请看我的编辑,我没有效果。
标签: javascript rest sharepoint-2013