Как быстро получить данные из списка SharePoint не пользуясь веб сервисами.
Самый быстрый способ получить их это конечно нажать кнопку Экспорт в Excel и Бинго.
Посмотрим что скрывается за этой выгрузкой. Откроем файл подключения
В нем можно найти все реквизиты и параметры
http://сайт/_vti_bin/owssvr.dll?XMLDATA=1&List={2187857A-977C-43F6-BF4A-0D10A8410A41}&View={3BD82CF2-EA85-4CD3-81B8-17150794A091}&RowLimit=0&RootFolder=%2fLists%2fList7
Selection={2187857A-977C-43F6-BF4A-0D10A8410A41}-{3BD82CF2-EA85-4CD3-81B8-17150794A091}
EditWebPage=
Formatting=None
PreFormattedTextToColumns=True
ConsecutiveDelimitersAsOne=True
SingleBlockTextImport=False
DisableDateRecognition=False
DisableRedirections=False
SharePointApplication=http://сайт/_vti_bin
SharePointListView={3BD82CF2-EA85-4CD3-81B8-17150794A091}
SharePointListName={2187857A-977C-43F6-BF4A-0D10A8410A41}
RootFolder=/Lists/List7
Как видим используется вызов RPC,
Немного информации SharePoint Foundation RPC Protocol
{0} – ссылка на сайт. Корневой или любой подсайт.
{1} –GUID списка.
Также можно использовать представления для выгрузки данных
таким образом наша ссылка в усеченном варианте будет иметь вид
Результат можно непосредственно проверить в браузере
Ну а дальше XML можно использовать в скрипте на свое усмотрение.
PS:
На самом деле этот способ не всегда удобен и имеет свои ограничения, однако наглядный и простой.
Пример ниже демонстрирует как получить элементы из списка использую SharePoint REST API:
function getListItems(webUrl, listName, success, failure) {
var url = webUrl + «/_vti_bin/listdata.svc/» + listName;
$.ajax({
url: url,
method: «GET»,
headers: { «Accept»: «application/json; odata=verbose» },
success: function (data) {
success(data.d.results);
},
error: function (data) {
failure(data.responseJSON.error);
}
});
}
//Usage
getListItems(‘https://contoso.sharepoint.com/project/’, ‘Tasks’, function (taskItems) {
console.log(taskItems);
for (var i = 0; i < taskItems.length; i++) {
console.log(taskItems[i].TaskName);
}
},
function (error) {
console.log(JSON.stringify(error));
}
);
Автор: Roman D
Дата публикации: 2016-05-17T04:24:00.000-07:00