SharePoint-hosted apps: Create a Custom List in Host Web using SharePoint REST API
var getQueryStringParameters = function(qsPara) {
var paramArray = document.URL.split("?")[1].split("&");
for (var i = 0; i < paramArray.length; i++) {
var paraName = paramArray[i].split("=");
if (paraName[0] === qsPara) {
return paraName[1];
}
}
}
var getHostWebUrl = function () {
var hostWebUrl = decodeURIComponent(getQueryStringParameters("SPHostUrl"));
return hostWebUrl;
}
var createList = function (listName, baseTemplate, description) {
var deferred = $.Deferred();
var appWebUrl = _spPageContextInfo.webAbsoluteUrl;
var hostWebUrl = getHostWebUrl();
var executor = new SP.RequestExecutor(appWebUrl);
var httpRequestUrl = appWebUrl + "/_api/SP.AppContextSite(@target)/web/Lists?@target='" + hostWebUrl + "'";
executor.executeAsync({
method: "POST",
url: httpRequestUrl,
body: "{ '__metadata': { 'type': 'SP.List' }, 'AllowContentTypes': true, 'BaseTemplate': " + baseTemplate + ", 'ContentTypesEnabled': true, 'Description': '" + description + "', 'Title': '" + listName + "' }",
headers: {
"accept": "application/json;odata=verbose",
"content-type": "application/json;odata=verbose"
},
success: function (data, status, jqXHR) {
deferred.resolve();
},
error: function (data) {
deferred.reject();
}
});
return deferred.promise();
}
// Create a List named as 'Projects' in Host Web
createList("Projects", "100", "This lists consist of projects used by SharePoint CV App")
No comments:
Post a Comment