Не удается сохранить основные метаданные документа (созданные, измененные) при импорте документов в библиотеку документов SharePoint - PullRequest
0 голосов
/ 16 апреля 2020

В настоящее время я создаю инструмент для перехода с системы управления документами на использование SharePoint Online. Основная проблема, с которой я сталкиваюсь, заключается в том, чтобы сохранить детали авторов документов и время их создания. Я проверил кучу кода в Интернете, но я не добился успеха ни с одним из них. Вот подходы, которые я использовал

  1. SharePoint Rest API
  2. Microsoft Graph API
  3. CSOM (с помощью консольного приложения)

Вот код, который у меня есть в CSOM, но я все еще не могу обновить поле Author

li["Title"] = "Update from CSOM";
li["Created"] = DateTime.Now.AddYears(-5);
li["Author"] = author.Id;
li.UpdateOverwriteVersion();
clientContext.ExecuteQuery();

Есть идеи, как это сделать, или есть какой-то другой подход для достижения моей цели?

1 Ответ

0 голосов
/ 17 апреля 2020

Код работает, когда я проводил тестирование в своей среде.

using (ClientContext context = new ClientContext("https://xxx.sharepoint.com/sites/lee"))
            {
                string s = "password";
                SecureString passWord = new SecureString();
                foreach (var c in s)
                    passWord.AppendChar(c);
                context.Credentials = new SharePointOnlineCredentials("admin@xxx.onmicrosoft.com", passWord);

                var author = context.Web.EnsureUser("Lee@xxx.onmicrosoft.com");
                context.Load(author);
                context.ExecuteQuery();
                var _List = context.Web.Lists.GetByTitle("List1");
                var li = _List.GetItemById(1);

                li["Title"] = "Update from CSOM";
                li["Created"] = DateTime.Now.AddYears(-5);
                li["Author"] = author.Id;
                li.UpdateOverwriteVersion();
                context.ExecuteQuery();

            }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...