您好,登錄后才能下訂單哦!
Blog鏈接:https://blog.51cto.com/13969817
我們使用SharePoint Hosted App獲取用戶ID時,你將發現SharePoint中的JavaScript Object Model(JSOM)比REST API更容易使用。
REST Protocol的第一個限制是它只返回100個條目,我還沒有找到一個方法來增加這個,而使用JSOM可以獲取所有用戶的列表,并按照ID 排序。
比如我們需要list來保存User ID,然后分別使用REST API和JSOM獲取用戶列表的代碼。
function?getUsers() {
????var?pUrl = _spPageContextInfo.webAbsoluteUrl +?"/_api/site/rootweb/lists/getByTitle('User Information List')/items?$orderby=Id";
????//var pUrl = _spPageContextInfo.webAbsoluteUrl + "/_api/site/rootweb/lists/getByTitle('User Information List')/items?$orderby=Id&$select=Id,Title,Name,EMail";
????$.ajax(pUrl, { method:?"GET", headers: {?"accept":?"application/json;odata=verbose"?} }).done(storeUsers).fail(getUserError);
}
?
function?storeUsers(data) {
????var?responseParse = JSON.parse(data.body);
????user_list = responseParse.d.results;
}
?
function?getUserError(jqXHR, textStatus) {
????alert(textStatus);
}
function?getAllUsers() {
????var?userInfoList = context.get_site().get_rootWeb().get_siteUserInfoList();
?
????var?camlQuery =?new?SP.CamlQuery();<br>
????camlQuery.set_viewXml('<View><Query><OrderBy><FieldRef Name=\'ID\' /></OrderBy></Query></View>'); ? ?
????userListItemCollection = userInfoList.getItems(camlQuery);
?
????context.load(userListItemCollection);
????//context.load(userListItemCollection, 'Include(Title,ID,Name,EMail)');
?
????context.executeQueryAsync(onGetAllUsersSuccess, onGetAllUsersFail);
}
?
function?onGetAllUsersSuccess() {
????var?userArr = [];
????var?arrNames = [];
????var?listEnumerator = userListItemCollection.getEnumerator();
?
????while?(listEnumerator.moveNext()) {
????????var?oList = listEnumerator.get_current();
?
????????//avoid duplicates
????????var?index = $.inArray(oList.get_item('Title'), arrNames);
????????if?(index == -1) {
????????????userArr.push({
????????????????Id: oList.get_item('ID'),
????????????????Title: oList.get_item('Title'),
????????????????Name: oList.get_item('Name'),
????????????????EMail: oList.get_item('EMail')
????????????});
????????????arrNames.push(oList.get_item('Title'));
????????}
????}
?
????user_list = userArr;
}
?
function?onGetAllUsersFail(sender, args) {
????alert("Unable to load user information: "?+ args.get_message());
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。