您的位置:首页 > 其它

Rest Api how to retrieve list items from SharePoint Online

2015-06-03 11:17 751 查看
We will learn how to call Rest Api in SharePoint Online, here is the requirment:

There is a customer list named "Customers", we will output the title of all items in the list.

Introduce Rest Api:

The request examples in this article assume that you’re using the cross-domain library (SP.RequestExecutor.js) to make cross-domain requests, so they useSP.AppContextSite in the endpoint URI. SeeHow
to: Access SharePoint 2013 data from apps using the cross-domain library for more information.



Note: make sure implement the sp.requestextcutor.js in page.

Implement in detail:

1. create a custom list





2. New a project in Napa, add a page and implement the js

'use strict';

var currentcontext;
var hostcontext;
var hostweb;
var hostUrl;
var appUrl;

(function() {

// This code runs when the DOM is ready and creates a context object which is
// needed to use the SharePoint object model
$(document).ready(function() {
hostUrl = decodeURIComponent(getQueryStringParameter("SPHostUrl"));
currentcontext = new SP.ClientContext.get_current();
hostcontext = new SP.AppContextSite(currentcontext, hostUrl);
hostweb = hostcontext.get_web();
appUrl = decodeURIComponent(getQueryStringParameter("SPAppWebUrl"));

getListItems();
});

function getListItems() {
var executor = new SP.RequestExecutor(appUrl);
executor.executeAsync({
url: appUrl + "/_api/SP.AppContextSite(@target)/web/lists/getbytitle('Customers')/getitems?@target='" + hostUrl + "'",
method: "POST",
body: "{ 'query' : {'__metadata': { 'type': 'SP.CamlQuery' }, 'ViewXml': '<View><Query><Where></Where></Query></View>' } }",
headers: {
"accept": "application/json; odata=verbose",
"content-type": "application/json; odata=verbose"
},
success: function(data, req, text) {
console.log(JSON.parse(data.body));
var result = JSON.parse(data.body).d.results;
for (var i = result.length - 1; i >= 0; i--) {
$(".mainContainer").append("<div>" + result[i].Title + "</div>");
}
},
error: function(data, req, text) {
console.log(data);
}
});
}
})();

function getQueryStringParameter(paramToRetrieve) {
  var params = document.URL.split("?")[1].split("&");
  //var strParams = "";
  for (var i = 0; i < params.length; i = i + 1) {
   var singleParam = params[i].split("=");
   if (singleParam[0] == paramToRetrieve) return singleParam[1];
  }
 }



3. Debug the project, you will see the result

More:Lists and list items REST API reference

Expend: Retrieve list items using client js from sahrepoint online

'use strict';

var currentcontext;
var hostcontext;
var hostweb;
var hostUrl;
var list;
var appUrl;
var clients

(function() {

// This code runs when the DOM is ready and creates a context object which is
// needed to use the SharePoint object model
$(document).ready(function() {

hostUrl = decodeURIComponent(getQueryStringParameter("SPHostUrl"));
currentcontext = new SP.ClientContext.get_current();
hostcontext = new SP.AppContextSite(currentcontext, hostUrl);
hostweb = hostcontext.get_web();
appUrl = decodeURIComponent(getQueryStringParameter("SPAppWebUrl"));

getListItemsByClient();

});

function getListItemsByClient() {
list = hostweb.get_lists().getByTitle("Customers");
var camlString = "";

var camlQuery = new SP.CamlQuery();
camlQuery.set_viewXml(camlString);
clients = list.getItems(camlQuery);

currentcontext.load(clients);

currentcontext.executeQueryAsync(onQuerySucceeded, onQueryFailed);

}

function onQuerySucceeded(sender, args) {
var enumerator = clients.getEnumerator();

while (enumerator.moveNext()) {
var item = enumerator.get_current();
$(".mainContainer").append("<div> client : " + item.get_item("Title") + "</div>");
}
}

function onQueryFailed(sender, args) {
alert('Request failed. ' + args.get_message() + '\n' + args.get_stackTrace());
}

function getQueryStringParameter(paramToRetrieve) {
var params = document.URL.split("?")[1].split("&");
//var strParams = "";
for (var i = 0; i < params.length; i = i + 1) {
var singleParam = params[i].split("=");
if (singleParam[0] == paramToRetrieve) return singleParam[1];
}
}
})();



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: