_sppagecontext.userEmail не возвращает идентификатор электронной почты для всех пользователей.как настроить его в Sharepoint Online и 2013 - PullRequest
0 голосов
/ 08 марта 2019

_sppagecontext.userEmail не возвращает идентификатор электронной почты для всех пользователей.для некоторых пользователей необходимо _spPageContextInfo.userLoginNam.

1 Ответ

0 голосов
/ 12 марта 2019

Для SharePoint Online логин пользователя и userEmail должны быть одинаковыми и будут: username@tenantname.onmicrosoft.com

enter image description here

Для SharePoint On-Premise _spPageContextInfo предоставляет только свойство 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>

Убедитесь, что рабочий адрес электронной почты в текущем профиле пользователя не пуст.

...