SharePoint 2013 CSOM C# Создание документа с версиями с сохранением редактора / модифицированных
В настоящее время я работаю над инструментом для миграции SP2013 на SP2016 (использование ShareGate не вариант, руководство говорит:/) Что я делаю, это зацикливаю все сайты в SP2013 и выполняю резервное копирование в виде json, сохраняя все списки, предметы, документы и т. д. вместе.
Моя структура экспорта выглядит так:
structure.json // contains a tree view of webs and their subwebs
123-456-789-000/ // this is a web
|-web.json // contains all the web data like lists, items etc.
|-lists/
|--listname/
|---document.txt
|---...
В настоящее время я застрял с импортом документов - более конкретно с их версиями. Я пытаюсь импортировать документ, это не проблема, но для создания версии необходим цикл проверки / возврата. Проверка перезаписывает мой редактор и измененную дату, в результате чего farmadmin становится последним редактором всех моих документов (которым должен быть пользователь, сделавший это в SP2013).
После некоторого поиска в Google я нашел ValidateUpdateListItem, но это приводит к регистрации (которая сохраняет редактор), но создает только второстепенную версию - хотя мне нужна основная версия.
В SSOM я бы выдал себя за использование нового SPSite(url, userToken) и выполнил бы проверку внутри пользовательского контекста - но в CSOM это не вариант.
Кто-нибудь сталкивался с этой проблемой, или я на неправильном пути?