我在 SharePoint 2013 上的 Nintex 表单上使用了以下代码来获取当前用户详细信息,
var userid = _spPageContextInfo.userId;
var requestUri = _spPageContextInfo.webAbsoluteUrl + "/_api/web/getuserbyid(" + userid + ");
但它不适用于 O365 Nintex 表单(错误:_spPageContextInfo 未定义)。有没有与这种方法等效的方法?否则获取用户详细信息的最佳方式是什么?我尝试过如下代码,
样品 01:
SP.SOD.executeOrDelayUntilScriptLoaded(FormLoad(), 'SP.js');
function FormLoad()
{
var userId = _spPageContextInfo.userId;
console.log("Current User = " + userId);
}
样品 02:
var pollSP;
NWF.FormFiller.Events.RegisterAfterReady(function () {
pollSP = setInterval(checkSPLoad, 500);
});
function checkSPLoad() {
if (clientContext) {
window.clearInterval(pollSP);
onSPLoad();
}
}
function onSPLoad() {
var userId = _spPageContextInfo.userId;
console.log("Current User = " + userId);
}
笔记:
SharePoint 在线网站 url-“ https://abc.sharepoint.com/dev ”
打开 Nintex 表单时的网址 - “ https://abc-1d0266265ca24d.sharepoint.com/dev/ ...”
这些代码适用于本地 SharePoint 2013 NINTEX 表单。(打开表单时它不会重定向到应用程序站点)