У меня есть простой код, который использует CSOM для чтения элементов в списке SharePoint, размещенном в SharePoint Online.Использование CSOM для извлечения элементов списка в поставщике Hosted SharePoint App
List list = ClientContext.Web.Lists.GetById(id);
ClientContext.Load(list,
a => a.ItemCount,
a => a.Title);
ListItemCollection items = list.GetItems(CamlQuery.CreateAllItemsQuery());
ClientContext.Load(items);
ClientContext.ExecuteQuery();
foreach (ListItem li in items)
{
.... // Do some Stuff ...
}
В конце ExecuteQuery вызова можно получить доступ к списку Название («MyList») и количество записей (7 единиц в общей сложности), но ListItemsCollection элементы всегда имеет отсчет, равный нулю.
Ошибок не возникает.
Что мне нужно для фактического получения элементов списка? Я пропустил еще один вызов в CSOM или может ли это быть проблемой разрешения (не сообщит ли мне SharePoint Online, если это так?)
Помощь с благодарностью получена!
Да. Количество предметов и заголовок всегда есть ... это не проблема. Проблема в том, что я не могу получить ListItems. – user3658298
Вышеупомянутый код запускается только для списка или lib, которые находятся в приложении не в хост-сети. Для веб-хоста вы должны предоставить разрешение. Пожалуйста, сообщите нам, включен ли этот список в приложение или нет. Если он находится в сети хоста, вам необходимо предоставить разрешение на чтение на вкладке appmanifest.xml-> permission – Rahul
Список находится в HostWeb. Если я добавлю разрешение на манифест, который позволяет конечному пользователю выбрать, какой список, которое может разместить хост-приложение провайдера, то как провайдер, размещающий приложение, знает, в каком списке у него есть разрешение на доступ? – user3658298