webclient PUT メソッドを使用してファイルを SharePoint にアップロードすると、アップロードされますが、私の名前でチェックアウトされます。ファイルを自動的にチェックインするにはどうすればよいですか?
問題を解決する方法を教えてください。以下は、ファイルを SharePoint にアップロードするコードです。
public void UploadToSharepoint()
{
GC.Collect();
GC.WaitForPendingFinalizers();
var site = string.Empty;
var serviceAccountUsername = string.Empty;
var serviceAccountPassword = string.Empty;
var serviceAccountDomain = string.Empty;
var documentToUpload = ConfigurationManager.AppSettings[AppConstants.DocumentToUpload].ToString();
var documentLibrary = ConfigurationManager.AppSettings[AppConstants.documentLibrary].ToString();
int year = DateTime.Now.Year;
int month = DateTime.Now.Month;
var targetDocumentName = year + "_" + month + "_ABCD.xlsx";
if (!System.IO.File.Exists(documentToUpload))
throw new FileNotFoundException("File Not Found", documentToUpload);
using (var client = new WebClient())
{
client.Headers.Add("X-FORMS_BASED_AUTH_ACCEPTED", "f");
site = ConfigurationManager.AppSettings[AppConstants.SiteUrl].ToString();
serviceAccountUsername = ConfigurationManager.AppSettings[AppConstants.ServiceAccountUsername].ToString();
serviceAccountPassword = ConfigurationManager.AppSettings[AppConstants.ServiceAccountPassword].ToString();
serviceAccountDomain = ConfigurationManager.AppSettings[AppConstants.ServiceAccountDomain].ToString();
if (!client.UseDefaultCredentials)
{
var networkCredential = new NetworkCredential
{
Domain = serviceAccountDomain,
UserName = serviceAccountUsername,
Password = serviceAccountPassword
};
client.Credentials = networkCredential;
}
var bytes = System.IO.File.ReadAllBytes(documentToUpload);
var uri = new Uri(String.Format("{0}/{1}/{2}", site, documentLibrary, targetDocumentName));
client.UploadData(uri, "PUT", bytes);
}
GC.Collect();
GC.WaitForPendingFinalizers();
}