SharePoint 2013 APP 开发示例 (二)获取用户信息
这个示例里,我们将演示如何获取用户信息:
1. 打开 Visual Studio 2012.
2. 创建一个新的 SharePoint 2013 app: UserProfileTest.
3. 选择SharePoint-hosted, 点Finish.
4. 打开Default.aspx :
加入knockoutjs和sp.userprofiles.debug.js(包含user profile的信息):
<script type="text/javascript" src="../Scripts/knockout-3.0.0.js"></script><script type="text/javascript" src="/_layouts/15/sp.runtime.debug.js"></script><script type="text/javascript" src="/_layouts/15/sp.debug.js"></script><script type="text/javascript" src="/_layouts/15/sp.userprofiles.debug.js"></script>
修改title:
<asp:Content ContentPlaceHolderID="PlaceHolderPageTitleInTitleArea" runat="server">User Information </asp:Content>
加入用户显示:
<asp:Content ContentPlaceHolderID="PlaceHolderMain" runat="server">
<h2>Current User Properties</h2>
<table data-bind="with: currentUser"><tr><td>title</td><td data-bind="text: get_title()"></td></tr><tr><td>Id</td><td data-bind="text: get_id()"></td></tr><tr><td>loginName</td><td data-bind="text: get_loginName()"></td></tr><tr><td>email</td><td data-bind="text: get_email()"></td></tr><tr><td>isSiteAdmin</td><td data-bind="text: get_isSiteAdmin()"></td></tr></table>
</asp:Content>
5. 打开App.js 修改如下:
前二行引用的js提供了智能感知的功能
/// <reference path="knockout-3.0.0.debug.js" /> /// <reference path="~/_layouts/15/sp.userprofiles.debug.js" /> $(function () {ko.applyBindings(new userProfileProps()); });function userProfileProps() {var self = this;self._currentUser = null;self.currentUser = ko.observable();self.load = function () {var context = SP.ClientContext.get_current();self._currentUser = context.get_web().get_currentUser();context.load(self._currentUser);var pm = new SP.UserProfiles.PeopleManager(context);self._props = pm.getMyProperties();context.load(self._props);context.executeQueryAsync(Function.createDelegate(self, self.onSuccess),Function.createDelegate(self, self.onFail));}self.onSuccess = function () {self.currentUser(self._currentUser);}self.onFail = function (sender, args) {alert("Unable to access user information: " + args.get_message());}self.load(); }
6. 保存并发布.
7. APP页面显示如下:
对于基本的安全检查,这些信息足够了。但为了实现个性化, 我们还要用到 user profile.
8. 停止debug.
9. 打开Default.aspx ,加上 user profile:
<br /><h2>User Profile Properties</h2><table data-bind="with: currentProps"><tr><td>AccountName</td><td data-bind="text: AccountName"></td></tr><tr><td>UserName</td><td data-bind="text: UserName"></td></tr><tr><td>FirstName</td><td data-bind="text: FirstName"></td></tr><tr><td>LastName</td><td data-bind="text: LastName"></td></tr><tr><td>PreferredName</td><td data-bind="text: PreferredName"></td></tr><tr><td>WorkEmail</td><td data-bind="text: WorkEmail"></td></tr><tr><td>WorkPhone</td><td data-bind="text: WorkPhone"></td></tr><tr><td>PictureURL</td><td><img src="#" data-bind="attr: { src: PictureURL }" /></td></tr></table>
10. 打开 App.js ,在这行 var self=this; declaration:后面加上:
self._props = null; self.userProps = ko.observable();
11. 在这行executeQueryAsync(): 前加上:
var pm = new SP.UserProfiles.PeopleManager(context); self._props = pm.getMyProperties(); context.load(self._props);
12. 加上这行到 self.onSuccess() function:
self.userProps(self._props.get_userProfileProperties());
13. 打开AppManifest.xml file.
14. 选择Permissions tab.
15. scope 选择 User Profiles , permission 选择 Read.
16. 发布.
17. 你将看到一个要你授权的页面,点 Trust It. 这个页面应该显示如下:
在user profile service有很多属性.你还可以创建自定义的属性, self._props.get_userProfileProperties() 创建了一个对象,包含了所有赋予它的 profile 属性
, 很容易在debug时查看或者bind它的值到html 上。
SharePoint 2013 APP 开发示例 系列
SharePoint 2013 APP 开发示例 (二)获取用户信息相关推荐
- SharePoint 2013 APP 开发示例 系列
SharePoint 2013 APP 安全: SharePoint 2013 APP 开发示例 (一)List 读写 SharePoint 2013 APP 开发示例 (二)获取用户信息 Share ...
- SharePoint 2013 APP 开发示例 (三)使用远程的web资源
在这个示例里我们将详细介绍 TokenHelper 类, 我们将看到它是怎么简单地从远程web站点访问SharePoint的.我们还将取到它的一些值.这将帮助我们理解连接是怎么被构造的,同时也方便我们 ...
- SharePoint 2013 APP 开发示例 (六)服务端跨域访问 Web Service (REST API)
上个示例(SharePoint 2013 APP 开发示例 (五)跨域访问 Web Service (REST API))是基于JavaScript,运行在web browser内去访问REST AP ...
- 微信企业号开发[二]——获取用户信息
注:文中绿色部分为摘自微信官方文档 在<微信企业号开发[一]--创建应用>介绍了如何创建应用,但是当用户点击应用跳转到我们设定的URL时,其实并没有带上用户的任何信息,为了获取用户信息,我 ...
- 获取微信用户信息java开发_Java微信公众平台开发(十二)--微信用户信息的获取
前面的文章有讲到微信的一系列开发文章,包括token获取.菜单创建等,在这一篇将讲述在微信公众平台开发中如何获取微信用户的信息,在上一篇我们有说道微信用户和微信公众账号之间的联系可以通过Openid关 ...
- 微信公众号开发之授权获取用户信息
微信开发交流群:148540125 系列文章参考地址 极速开发微信公众号 欢迎留言.转发.打赏 项目源码参考地址 点我点我--欢迎Start 前几篇文章已讲完如何导入项目,如何启动配置项目,如何成为开 ...
- 钉钉二次开发-组织机构同步 获取用户信息 单点登录接口
建用户 调试工具:在线调试 请求方式:POST(HTTPS) 请求地址:https://oapi.dingtalk.com/user/create?access_token=ACCESS_TOKEN ...
- 微信开发网页授权获取用户信息
如果用户在微信客户端中访问第三方网页,公众号可以通过微信网页授权机制,来获取用户基本信息,进而实现业务逻辑. 1. 关于OAuth2.0的说明 官方网站:http://oauth.net/ htt ...
- 微信公众号的二次开发(三、接收事件推送获取用户信息)
在上篇<微信公众号的二次开发(二 自定义菜单的创建)>中我们介绍了自定义菜单的创建.本篇文章将介绍如何通过接收事件推送来获取用户信息.首先我们阅读官方文档: 根据官方文档的介绍 微信公众号 ...
最新文章
- 刚出炉!程序员人才补贴:单项目最高补贴1000万元
- 【云炬大学生创业基础笔记】第1章第1节 创新和创业有什么样的关系?
- div没有设置高度,背景颜色却无法显示
- 欢乐纪中A组赛【2019.8.20】
- 面试题 10.01. 合并排序的数组
- Java 笔试题---Java与编程模式--7月6日
- 《编码规范和测试方法——C/C++版》作业 ·003——宏定义作用整理、设计删除数组元素的函数
- 基于PSR-0编码规范开发一套PHP-MVC框架(二)
- mysql中url的格式_MySQL JDBC URL中的格式以及参数介绍
- java图书管理系统代码_java图书管理系统(源码+jar包+数据库)
- uni-app url 传参有长度限制么?
- TOMCAT启动提示NB: JAVA_HOME should point to a JDK not a JRE解决
- F5 BIG-IP 17.0.0
- 【谷粒商城】阿里云oss文件上传(P61)
- 拷机测试需要多久_网站建设要多久?
- 解密红杉资本加密局,一个女人选择 ALL IN
- Legacy与UEFI
- 【ESP32_8266_WiFi (十一)】通过JSON实现物联网数据通讯
- IPC的键值和标识符
- POJ 4110:圣诞老人的礼物-Santa Clau’s Gifts