0

Я зачитав версии моего списка с помощью следующего кода:Sharepoint Client Object Model: Считать Версия свойства

string fileUrl = "/sites/dev1/MyTool/Lists/TicketsList/1_.000"; 
FileVersionCollection fileVersionCollection; 
File file = clientcontext.Web.GetFileByServerRelativeUrl(fileUrl); 
fileVersionCollection = file.Versions; 
clientcontext.Load(file); 
clientcontext.Load(fileVersionCollection); 
clientcontext.ExecuteQuery(); 

Это прекрасно работает, и я получаю FileVersionCollection объект обратно.

Возможно ли получить информацию об изменениях, как вы можете видеть на снимке экрана?

Я хочу получить небольшие отчеты, например.

  • Как долго билет XYZ в статус "Новый"
  • Кто это изменилось?
  • ...

enter image description here

ответ

1

ли экземпляр Office365 SharePoint, потому что я вижу, что вы используете CSOM.

У меня была схожая задача, но чтобы перенести все версии элементов. Я также не мог найти такую ​​функциональность, предоставляемую API для Office365. Вы даже не можете получить полные метаданные для определенной версии. Мне пришлось выставить /_vti_bin/Lists.asmx, чтобы получить элементы версии. Подробнее об этом здесь: http://sharepoint.bg/post/How-to-get-list-item-field-versions-data-in-Office365-SharePoint-Online.aspx

Однако, как я помню, получение версии 2.0 элемента даст вам все метаданные элемента, а не разницу с изменениями, но не на 100% уверен. По крайней мере, у вас будет вся информация о версии, и вы можете реализовать некоторый код для сравнения версий и получения требуемых различий.

Это не очень быстро с точки зрения производительности, но это что-то.