sharepoint-2013 - _sppagecontext.userEmail 不会返回所有用户的电子邮件 ID。如何在 Sharepoint Online 和 2013 中配置它
问题描述
_sppagecontext.userEmail 不会返回所有用户的电子邮件 ID。对于某些用户,需要 _spPageContextInfo.userLoginNam。
解决方案
对于 SharePoint Online,用户登录名和 userEmail 应该相同,并且将为:username@tenantname.onmicrosoft.com
对于 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>
确保当前用户个人资料中的工作电子邮件不为空。
推荐阅读
- python - NetworkX / Pandas - 无法将节点的度数输出到 .txt 文件中(错误消息)
- wpf - WPF中的多个并行GridSplitter
- c - C 客户端服务器与
- android - 应用程序ID更改后React Native Android应用程序找不到图像
- python - 取消 Gtk.TreeView 中某些特定项目的拖放
- ios - 仅当从 Testflight 下载时,iOS 应用程序才会在 iOS 12 beta 9 及更早版本上崩溃
- c# - google chrome 浏览器 - C# 中的读/写设置
- javascript - ngx-leaflet 地图缩放事件未触发
- vba - 从外部模块调用变量(VBA)
- sql - Amazon Athena:将 bigint 时间戳转换为可读时间戳