繁体   English   中英

SharePoint 2010使用SPServices获取用户标识

[英]SharePoint 2010 use SPServices to get a users ID

我正在使用SharePoint与SPServices jQuery库,我正在使用SPGetCurrentUser函数。 但是,它似乎只返回没有ID的登录用户名。 例:

DOMAIN\\user\u003c/code>

我需要带有ID的整个帐户名称:

1;#DOMAIN\\user\u003c/code>

如果只是为了返回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);
});

请点击这里了解更多详情

建立在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') 

注意:Userlogin应该与'DOMAIN \\\\ User'格式匹配,请注意第二个转义反斜杠。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM