0

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();
            }
4

1 に答える 1

0

ファイルをチェックインする前に設定する必要がある必須フィールドがいくつかあると思います。

Microsoft.Sharepoint.Client.ListItem.File.CheckIn(...) 関数を使用してチェックインするには

于 2013-09-19T06:33:48.940 に答える