2014-10-09 33 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>