SharePoint 2010使用SPServices获取用户标识
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SharePoint 2010使用SPServices获取用户标识相关的知识,希望对你有一定的参考价值。
我正在使用SharePoint与SPServices jQuery库,我正在使用SPGetCurrentUser
函数。但是,它似乎只返回没有ID的登录用户名。例:
DOMAINuser
我需要带有ID的整个帐户名称:
1;#DOMAINuser
如果只是为了返回ID,我可以将两者连接在一起。但我找不到它。
最终我正在尝试将列表项分配给当前用户。如果有一种方法可以在没有ID的情况下做到这一点,我也会对这种可能性持开放态度。谢谢!
答案
好吧我明白了:
$().SPServices({
operation: "GetUserInfo",
async: false,
userLoginName: $().SPServices.SPGetCurrentUser(),
completefunc: function (xData, Status) {
$(xData.responseXML).find("User").each(function() {
curUserId = $(this).attr("ID");
curUserName = $(this).attr("Name");
curFullUserName = $(this).attr("ID")+";#"+$(this).attr("Name");
});
}
});
这个小功能将创建三个变量:
- curUserId =当前用户ID(例如:1)
- curUserName =当前用户名称(例如:DOMAIN user)
- curFullUserName =以SP格式组合的ID和名称(例如:#DOMAIN user)
希望能帮助到你!
另一答案
你可以试试:
$().SPServices.SPGetCurrentUser({
fieldName: "ID"
});
另一答案
$(xData.responseXML).find("PropertyData > Name:contains('Name')").each(function() {
Name = $(this).parent().find("Values").text();
alert(Name);
});
Please click here more details
另一答案
建立在skinneejoe的答案上,它将返回当前用户的ID;要根据其登录信息(即域用户名)查找其他用户的ID,只需添加以下逻辑:
function getUserIdByUsername(login) {
var user = {};
var params = {
operation: "GetUserInfo",
async: false,
completefunc: function (xData, Status) {
$(xData.responseXML).find("User").each(function () {
user.curUserId = $(this).attr("ID");
user.curUserName = $(this).attr("Name");
user.curFullUserName = $(this).attr("ID") + ";#" +
$(this).attr("Name");
});
}
};
if (login != null) {
params.userLoginName = login;
} else {
params.userLoginName = $().SPServices.SPGetCurrentUser();
}
$().SPServices(params);
return user;
}
getUserIdByUsername('DOMAIN\User')
以上是关于SharePoint 2010使用SPServices获取用户标识的主要内容,如果未能解决你的问题,请参考以下文章
使用 Sharepoint 2010 服务查询文档列表及其内容