我正在尝试使用list.asmx服务创建对Sharepoint讨论区讨论的回复,回复正在填充,但其相应的ParentItemID未获得更新。 以下是我正在使用的代码:
var promise = $().SPServices({
operation: "UpdateListItems",
batchCmd: "New",
listName: list,
updates: "<Batch OnError='Continue' RootFolder='" + filepath + "'>" +
"<Method ID='1' Cmd='New'>" +
"<Field Name='ContentType'>Message</Field>" +
"<Field Name='FSObjType'>0</Field>" +
"<Field Name='Body'>Great Post</Field>" +
"</Method>" +
"</Batch>"
});
通常,当我们创建SharePoint UI的回复表单时,会自动填充回复的ParentItemID。 我不能使用SP.Utilities.Utility.createNewDiscussionReply方法。 必须使用REST api或list.asmx服务执行此操作。 使用REST我只能创建讨论但不能创建回复。 任何帮助将受到高度赞赏。
截图:
答案 0 :(得分:0)
如果我指定&#34; ParentItemID&#34;我能够让它工作。 CAML中的字段。我还确保&#34; RootFolder&#34;属性使用&#34; FileRef&#34;为父讨论检索的字段。
var promise = $().SPServices({
operation : "UpdateListItems",
batchCmd : "New",
listName : list,
updates : "<Batch OnError='Continue'" +
"RootFolder='MySite/Lists/My Discussion Forum/My Discussion Title'>" +
"<Method ID='1' Cmd='New'>" +
"<Field Name='ContentType'>Message</Field>" +
"<Field Name='ParentItemID'>51</Field>" +
"<Field Name='FSObjType'>0</Field>" +
"<Field Name='Body'>Great Post</Field>" +
"</Method>" +
"</Batch>"
});