2013-04-19 3 views
3

나는 셰어 포인트 2013 공급자 호스팅 응용 프로그램에서 사용자 선택 도구를 만들려고합니다. 원래는 셰어 포인트의 모든 사용자에게 액세스 할 수있는 Utility.ResolvePrincipal을 사용하고 있었지만 한 번에 한 명의 사용자 만 제공합니다 (원하는 것은 아닙니다). 그런 다음 Utility.SearchPrincipals을 사용하려고했지만 결코 결과를 얻지 못했습니다. 그렇다면 Web.SiteUserInfoList을 사용해 보았습니다.하지만 그저 셰어 포인트가 아닌 내 사이트 사용자 만 액세스 할 수 있습니다. SiteUserInfoList과 비슷한 것을 사용할 수 있지만 내 사이트가 아닌 셰어 포인트에있는 모든 사용자를 반환하는 프로그램이 있습니까? 다음은 내가 사용하고있는 것입니다. SiteUserInfoList :SiteUserInfoList와 비슷하지만 모든 쉐어 포인트 사용자에게

var camlQuery = new CamlQuery(); 
    camlQuery.ViewXml = @"<View> 
          <Query> 
           <Where> 
            <Contains> 
             <FieldRef Name='Title'/> 
             <Value Type='Text'>" + nameStart + @"</Value> 
            </Contains> 
           </Where> 
          </Query> 
         </View>"; 
    var users = _clientContext.Web.SiteUserInfoList.GetItems(camlQuery); 
    _clientContext.Load(users, u => u.Include(item => item["Title"], item => item["Name"], item => item.DisplayName)); 
    _clientContext.ExecuteQuery(); 

답변

0

REST를 사용하여 사용자를 검색 할 수 있습니다.

다음과 같이 보일 것입니다 귀하의 URL :

var url = string.Format("http://yoursite/_api/search/query?querytext='AccountName:{0}*'&sourceid='B09A7990-05EA-4AF9-81EF-EDFAB16C4E31'&selectproperties='PictureURL,AccountName'", nameStart); 

(sourceid =에 'B09A7990-05EA - 4AF9-81EF-EDFAB16C4E31'포인트 콘텐츠 클래스 : STSPeople)

다음
+0

가 실제로 결국 무엇 http://sharepoint.stackexchange.com/questions/66304/resolveprincipal-vs-searchprincipal –

관련 문제