gpt4 book ai didi

sharepoint - 如何以编程方式在 Sharepoint 中创建 wiki 页面 (=item)?

转载 作者:行者123 更新时间:2023-12-02 00:38:50 24 4
gpt4 key购买 nike

如何创建 wiki 页面并添加标题以及 sharepoint 中的一些内容(通过网络服务)?

这是迄今为止我的 SOAP 消息:

  <soapenv:Body>
<soap:UpdateListItems>

<soap:listName>Cooking Wiki</soap:listName>

<soap:updates>
<Batch OnError="Continue">
<Method ID="1" Cmd="New">
<Field Name="WikiField">Mix two eggs and a cup of milk.</Field>
</Method>
</Batch>
</soap:updates>

</soap:UpdateListItems>
</soapenv:Body>

它创建了一个新页面,但没有内容,也没有标题。

最佳答案

获取 SharePoint Manager 的副本它可以向您显示大量有趣的信息。

您需要名称字段(它包括“.aspx”)。标题字段在 wiki 中不相关(空白),页面按其名称进行索引。

--更新--

使用 copy.asmx 允许您上传新文档。模板页面是之前下载好的页面(不存储任何信息,相当于布局页面)。

private byte[] GetTemplatePage()
{
FileStream fs = new FileStream("templatePage.aspx", FileMode.Open);
byte[] fileContents = new byte[(int)fs.Length];
fs.Read(fileContents, 0, (int)fs.Length);

fs.Close();
return fileContents;
}

private void UploadDoc(string pageName)
{
byte[] wikiBytes = GetTemplatePage();

string dest = "http://[website]/wiki/Wiki%20Pages/" + pageName + ".aspx";
string[] destinationUrlArray = new string[] { dest };

IntranetCopy.Copy copyService = new IntranetCopy.Copy();
copyService.UseDefaultCredentials = true;
copyService.Url = "http://[website]/wiki/_vti_bin/copy.asmx";

IntranetCopy.FieldInformation fieldInfo = new IntranetCopy.FieldInformation();
IntranetCopy.FieldInformation[] fields = { fieldInfo };

IntranetCopy.CopyResult[] resultsArray;
copyService.Timeout = 600000;

uint documentId = copyService.CopyIntoItems(dest, destinationUrlArray, fields, wikiBytes, out resultsArray);

}

然后你可以调用lists.asmx来更新wikifield。注意:我还没有弄清楚如何在使用网络服务上传文档后对其进行重命名。

关于sharepoint - 如何以编程方式在 Sharepoint 中创建 wiki 页面 (=item)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/969594/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com