_sppagecontext.userEmail不会为所有用户返回电子邮件ID。如何在Sharepoint online and 2013中配置它

问题描述 投票:0回答:1

_sppagecontext.userEmail不会为所有用户返回电子邮件ID。对于某些用户,需要_spPageContextInfo.userLoginNam。

sharepoint-2013 sharepoint-online
1个回答
0
投票

对于SharePoint Online,用户登录名和userEmail应该相同,并且将是:[email protected]

enter image description here

对于SharePoint On-Premise,_spPageContextInfo仅为email和Loginname提供userId属性:

<script src="//code.jquery.com/jquery-3.1.0.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function () {

var userid = _spPageContextInfo.userId;

function GetCurrentUser() {
var requestUri = _spPageContextInfo.webAbsoluteUrl + "/_api/web/getuserbyid(" + userid + ")";

var requestHeaders = { "accept" : "application/json;odata=verbose" };

$.ajax({
  url : requestUri,
  contentType : "application/json;odata=verbose",
  headers : requestHeaders,
  success : onSuccess,
  error : onError
});
}

function onSuccess(data, request){
  console.log(data.d);
  var loginName = data.d.LoginName;
  var email=data.d.Email;
  alert(loginName);
  alert(email);
}

function onError(error) {
  alert(error);
}

GetCurrentUser();

});
</script>

确保当前用户配置文件中的工作电子邮件不为空。

© www.soinside.com 2019 - 2024. All rights reserved.