如何使用JSOM获取活动目录用户电子邮件属性 [英] How to get active directory user Email Property using JSOM

查看:101
本文介绍了如何使用JSOM获取活动目录用户电子邮件属性的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

您好专家, 

Hello experts, 

我想获取Active Directory用户的电子邮件ID。为此,我写下面的代码,但此代码返回用户登录名称,我想获得电子邮件,其中突出显示在图片中。如何获取此电子邮件ID属性。

I want to get Active Directory user email id. for this i write below code, but this code return user logon Name, and i want to get Email, which highlighted in picture. how can i get this email id property.

    var clientContext = new SP.ClientContext.get_current();

        var oWeb = clientContext.get_web();

        currentUser = oWeb.get_currentUser();

        this.userGroups = currentUser.get_groups();
$


        clientContext.load(currentUser);

        clientContext.load(this.userGroups);
$


        clientContext.executeQueryAsync(Function.createDelegate(this,function(response){

       var Loginitem = {};

  ;      //Loginitem.currentUserId = currentUser.get_id();

       //Loginitem.currentUserName = currentUser .get_title();

       userContext.UserId = currentUser.get_id();

userContext.Email = currentUser.get_email();}

   var clientContext = new SP.ClientContext.get_current();
        var oWeb = clientContext.get_web();
        currentUser = oWeb.get_currentUser();
        this.userGroups = currentUser.get_groups();

        clientContext.load(currentUser);
        clientContext.load(this.userGroups);

        clientContext.executeQueryAsync(Function.createDelegate(this, function (response) {
            var Loginitem = {};
            //Loginitem.currentUserId = currentUser.get_id();
            //Loginitem.currentUserName = currentUser.get_title();
            userContext.UserId = currentUser.get_id();
userContext.Email= currentUser.get_email(); }

此代码返回用户登录名,但是我想获得电子邮件ID,如下图所示。

This code return user Logon Name, but i want to get email ID which display in below picture.

推荐答案

这里是从Active Directory获取当前用户电子邮件的JSOM代码:

Here is the JSOM code to get current user email from Active Directory:

<script type="text/javascript">
ExecuteOrDelayUntilScriptLoaded(getCurrentUserEmail, 'sp.js');
function getCurrentUserEmail(){
  var clientContext = new SP.ClientContext.get_current();
  this.website = clientContext.get_web();
  this.currentUser = website.get_currentUser();
  clientContext.load(currentUser);
  clientContext.executeQueryAsync(Function.createDelegate(this, this.onRequestSuccess), Function.createDelegate(this, this.onRequestFail));
}
function onRequestSuccess(sender, args){
  var curUserEmail = currentUser.get_email();
  console.log(curUserEmail);
}
function onRequestFail(sender, args){
  alert('request failed ' + args.get_message() + '\n'+ args.get_stackTrace());
}
</script>

设置好电子邮件后在AD中,它需要一些时间来同步到SharePoint,确保用户配置文件同步服务应用程序在SharePoint中工作并等待一段时间来检查:

And after setting email in AD, it wil need some time to sync to SharePoint, make sure User Profile Sync Service Application is working in SharePoint and wait for some time to check:

SharePoint 2013用户配置文件与Active Directory同步

谢谢

最好的问候


这篇关于如何使用JSOM获取活动目录用户电子邮件属性的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆