Sharepoint возвращает неверную версию файла - PullRequest
0 голосов
/ 06 июля 2019

В Sharepoint у меня есть файл с несколькими историческими версиями.Я хочу удалить всю историю версий файлов, но api повторно запустит мне, что у нас есть 0 версий файлов.Почему так?

CamlQuery query = new CamlQuery();
query.ViewXml = "<View Scope='RecursiveAll'><RowLimit>50</RowLimit></View>";

List<ListItem> items = new List<ListItem>();
    do
      {
       ListItemCollection listItemCollection = lst.GetItems(query);
       ctx.Load(listItemCollection);
       ctx.ExecuteQuery();

       items.AddRange(listItemCollection);
       foreach (var item in items)
       {
          try
           {
            var file = ctx.Web.GetFileByServerRelativeUrl(item.FieldValues["FileRef"].ToString());
            ctx.Load(file);
            ctx.Load(file.Versions);
            ctx.ExecuteQuery();

Ответы [ 2 ]

1 голос
/ 13 июля 2019
var file = ctx.Web.GetFileByServerRelativeUrl(item.FieldValues["FileRef"].ToString());

Вы используете GetFileBy ServerRelativeUrl , но вы передаете имя файла. Используйте ServerRelativeUrl, и вы должны быть в порядке.

1 голос
/ 07 июля 2019

странно ... я думаю, что код кажется в порядке :). Может быть, только одна небольшая вещь, и я не уверен, что это сработает, но я бы сначала инициировал некоторую переменную в file.Versions, а затем после выполнения работы с этой переменной. Что-то вроде:



    var versions = file.Versions;
    ctx.Load(file);
    ctx.Load(versions);
    ctx.ExecuteQuery();
    foreach (FileVersion fileVersion in versions)
    {
       // check
    }

Я знаю ... вероятно, не это .. но всегда стоит проверить :).

Также убедитесь, что у учетной записи, на которой запущен этот код, есть необходимые разрешения для получения версий. Вы всегда можете определить учетную запись с сетевыми учетными данными, такими как:



    ctx.Credentials = new NetworkCredential(_username, _password, _domain);

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