Meu aplicativo edita um arquivo no SharePoint via Web Client / WebDAV (WebDAV redirecionador). Como posso verificar out / check-in?
-
22-08-2019 - |
Pergunta
Eu estou integrando meu aplicativo para que ele possa editar arquivos armazenados no SharePoint. Eu estou usando o serviço Web Client AKA WebDAV Redirector (Webclnt.dll), que faz um trabalho maravilhoso de deixar o CreateFile normais / leitura / gravação do Windows chamadas API ser redirecionado a partir de sua unidade normal de I / O caminho para a rede através do WebDAV. No entanto, só posso obter acesso ao arquivo somente leitura se ele é o check-in.
Usando o serviço de cliente Web, como posso fazer com que o arquivo a ser verificado quando eu editá-lo e, em seguida, fazer com que ele para ser verificados em quando eu terminar de editá-lo?
Edit: Eu tentei usar os GetFileAttributes e SetFileAttributes para testar FILE_ATTRIBUTE_READONLY, esperando que eu poderia usar esse sinalizador para determinar quando o arquivo não foi check-out, e, em seguida, fazer check-out (por desarmar essa bandeira de verificar, em seguida, definindo-o como check-in). Sem sorte lá; o arquivo sempre como parece não só de leitura.
Solução
Bem para realizar check-in / check-out de um arquivo que você precisa para usar o seguinte código:
SPSite oSite = new SPSite ("http://<sitename>/");
SPWeb oWeb = oSite.OpenWeb();
SPList oList = oWeb.Lists["Shared Documents"];
SPListItem oListItem = oList.Items[0]; //taking the first list item
oListItem.File.CheckOut();
oListItem["Name"] = "xyz";
oListItem.Update();
oListItem.File.CheckIn("file name has been changed");
Se você precisa fazer check-in / check-out através do SharePoint WebService, em seguida, você deve dar uma olhada no código no blog de Brad McCable em Windows SharePoint Services Exemplo web Service .