SharePoint Online 开发篇:SharePoint Hosted Apps获取用户ID

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获取用户列表的代码。

使用REST API来获得用户的列表,并按ID排序,Sample Code如下:

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);
}

但这只会返回100个项目,而使用JSOM可以获取按照User ID排序所有User 列表,sample Code如下:

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());

原文地址:https://blog.51cto.com/13969817/2467334

时间: 2024-10-29 04:47:03

SharePoint Online 开发篇:SharePoint Hosted Apps获取用户ID的相关文章

SharePoint Online 开发篇:SharePoint Framework 介绍

Blog链接:https://blog.51cto.com/13969817 今天我们讨论一下SharePoint Framework的基本介绍,可能大家都知道,如果是SharePoint On Premise的话,我们的开发方式是wsp,即solution package,而对于SharePoint Online,wsp则不适用,在云计算中是行不通的,然后微软引入一种App model的技术,后来把它重命名为add-in model.add-in model被分为SharePoint Host

SharePoint Online 开发篇:node.js和npm介绍和安装部署

Blog链接:https://blog.51cto.com/13969817 过去的几年中,出现的最重要的开发平台是Node.js和基于npm的开发,SharePoint Framework是这种开发方法的一个示例,本文我们来了解下Node.js.npm和Node Package Manager 是什么? Node.js,是一个建立在Google Chrome JavaScript的引擎(V8引擎)上的服务器端平台.JavaScript引擎的性能已经提高了很多,取决于你在做什么,事实上,它们的性

微信公众号开发之网页授权(获取用户信息)

这次暑假留在学校参与工作室的项目,对微信公众号比较感兴趣,所以参与这方面的学习研究. 昨天完成了关于网页授权,获取用户信息方面的功能,所以乘热打铁,写上一篇.实现本篇涉及的 功能,还需要完成一些基础.在写完这篇博客后,我会尽快补上. -------------------------废话不多说直入正题 需要的工具: 微信公众号(可以申请,但做开发的,可以申请测试号,申请详细不多说了) 服务器(可以自行购买,我使用的是新浪的sae.) 编辑器(随意,不做推荐) 微信公众号开发文档(地址) ----

微信公众号开发之网页授权认证获取用户的详细信息,实现自动登陆

原创声明:本文转来源本人另一博客[http://blog.csdn.net/liaohaojian/article/details/70175835]绝非他人处转载 从接触公众号到现在,开发维护了2个公众号,开发过程中遇到很多问题,现在把部分模块功能在这备案一下,做个总结也希望能给其他人帮助 工欲善其事,必先利其器,先看看开发公众号需要准备或了解什么 web开发工具:官方提供的开发工具,使用自己的微信号来调试微信网页授权.调试.检验页面的 JS-SDK 相关功能与权限,模拟大部分 SDK 的输入

微信公众平台开发 无高级接口账号获取用户基本信息(转)

本文介绍如何获得微信公众平台关注用户的基本信息,包括昵称.头像.性别.国家.省份.城市.语言.本文的方法将囊括订阅号和服务号以及自定义菜单各种场景,无论是否有高级接口权限,都有办法来获得用户基本信息,而无需模拟登录. 在本文中,特别要注意的是有两个不同的Access Token,他们产生的方式不一样,一种是使用AppID和AppSecret获取的access_token,一种是OAuth2.0授权中产生的access_token,方倍工作室分别称为全局Access Token和授权Access

微信公众号开发入门---STATE 2:获取用户信息

微信以openid获取用户信息 //先获取access_token $wxin_conf = Yii::$app->params['oauth_conf']['oauth_wx_in']; $url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=".$wxin_conf['app_id']."&secret=".$wxin_conf['

SharePoint Online 开发篇:SharePoint Framework 基本概念

Blog链接:https://blog.51cto.com/13969817 如果大家想学习SharePoint Framework,需要了解一些基础知识,这对 classic SharePoint 开发人员来说非常重要,因为我们面对的是modern开发,一个可能并不熟悉的工具. 首先,我们来熟悉一下Node.js和基于npm的开发: 类似.json Node Package Manager(npm) Yarn(推荐) Webpack 是非常流行的Module Bundlers,它是ShareP

PHP微信接口开发之高级篇之网页授权获取用户基本信息

二.WEB开发工具

SharePoint 2013 开发——其他社交功能

博客地址:http://blog.csdn.net/FoxDave 上一篇讲了如何获取用户配置文件的相关属性,它属于SharePoint 2013社交功能的一个小的构成部分.社交功能是SharePoint 2013改进的一大亮点.可以在现有网站上开启社交功能或者新建一个专门用于社交用途的社区网站,社交功能包括关注(人或内容).艾特@.#等功能.有清晰的用户积分制度等等.由于工作中不会有太多关于这方面的开发需求,并且个人觉得这部分做得挺不错,基本的需求应该是够用了(强大的或许就不在SharePoi