2014-10-09 38 views
0

我想使用SPService GetUserProfile,但我没有accountName,GUID,索引或电子邮件...我只有一个参数是employeeNumber(我猜这是是特定于我的公司)。我想检查:http://spservices.codeplex.com/wikipage?title=UserProfileService,但我找不到如何去做。SPServices:GetUserProfile只有员工ID

是否有可能获得用特定参数搜索用户配置文件?

我只能使用HTML/JS,我不能访问服务器。

+1

首先,我不认为你可以这样做,因为即使是“_catalogs/users/simple.aspx”,sharepoint也需要权限才能查看。接下来,如果在AD中配置了employeed ID,则应在Sharepoint中创建映射。这取决于Sharepoint如何设置。也许值得了解解释配置。例如,您可以尝试http:// <您的sharepoint站点>/_ catalogs/users/simple.aspx以检查是否配置了员工ID。 – meetkichu 2014-10-09 15:23:09

回答

0

以下代码应该适用于所有至少在某个时间点登录网站集的用户。 (用户信息列表不包含来自AD的每个人。)将您自己的值分为SITEmyFieldNamemyFieldValueSITE必须是网站集,而不是一个子网站。

<script src="PathToJQuery"></script> 
<script src="PathToSPServices2014"></script> 

<script> 

$(document).ready(function(){ 

    SITE = "http://mysitecollection/"; 
    LIST = "User Information List"; 
    var myFieldName = "ows_JobTitle"; 
    var myFieldValue = "Electrician"; 

    var spPromise1 = $().SPServices({ 
     webURL: SITE, 
     operation: "GetListItems", 
     listName: LIST, 
     async: false 
    }); 

    spPromise1.done(function(){ 
     $(spPromise1.responseXML).SPFilterNode("z:row").each(function(){ 
      if($(this).attr(myFieldName)==myFieldValue){ 
       console.log($(this).attr("ows_ID") + ": " + $(this).attr("ows_Title")); //Returns user ID and Display Name 
      } 
     }); 
    }); 
}); 
</script>