2016-12-14 2 views
0

Я пишу программу, чтобы получить информацию сайта в SharePoint,Как получить администратор сайта или информацию о владельце пользователя в SharePoint с помощью C#

 ClientContext clientContext = new ClientContext("ShareURL"); 
     Web site = clientContext.Web; 
     clientContext.Load(site); 
     clientContext.ExecuteQuery(); 
     ListCollection lists = clientContext.Web.Lists; 
     clientContext.Load(lists); 
     clientContext.ExecuteQuery(); 
     foreach (List list in lists) 
     { 
      if (list.NoCrawl || list.Hidden || list.BaseType.ToString() == "Survey") 
      { 
       continue; 
      } 
      if (list.BaseType.ToString() == "GenericList") 
      { 
       Console.WriteLine("List : " + list.Title); 
      } 
      else if (list.BaseType.ToString() == "DocumentLibrary" && list.Title.ToString() != "Images") 
      { 
       Console.WriteLine("Document : " + list.Title); 
      } 
     } 

, но теперь мне нужно получить этот сайт администратор или владелец пользователь, например, Электронная почта, имя пользователя ...

как я могу это получить?

+0

Если вы хотите получить информацию о текущем пользователе, вы можете проверить это: https://social.msdn.microsoft.com/Forums/office/en-US/6c36915e-2848-42fb-b30f-8894a8944a2f/sharepoint- c-get-list-of-sites-on-which-user-has-permission-read-contrib-owner-admin? forum = sharepointdevelopmentprevious – Valkyrie

+0

Я не могу использовать SPSite, я использую Microsoft.SharePoint.Client 14.0.0.0 – ZivHus

+0

где можно скачать SPSite reference dll file? – ZivHus

ответ

0

Я не уверен, что вы можете отобразить информацию для администратора сайта. Если вы являетесь администратором и хотите получить свои собственные данные, вот как вы можете легко сделать это со стороны клиента.
Код:

 <script type="text/javascript"> 
ExecuteOrDelayUntilScriptLoaded(init,'sp.js'); 
    var currentUser; 
     function init(){ 
     this.clientContext = new SP.ClientContext.get_current(); 
     this.oWeb = clientContext.get_web(); 
     currentUser = this.oWeb.get_currentUser(); 
     this.clientContext.load(currentUser); 
     this.clientContext.executeQueryAsync(Function.createDelegate(this,this.onQuerySucceeded), Function.createDelegate(this,this.onQueryFailed)); 
} 

function onQuerySucceeded() { 
var lUser = currentUser.get_loginName(); 
var result = lUser.split("\\")[1]; 
document.getElementById('userLoginName').innerHTML = result; 
document.getElementById('userId').innerHTML = currentUser.get_id(); 
document.getElementById('userTitle').innerHTML = currentUser.get_title(); 
document.getElementById('userEmail').innerHTML = currentUser.get_email(); 
} 

function onQueryFailed(sender, args) { 
alert('Request failed. \nError: ' + args.get_message() + '\nStackTrace: ' + args.get_stackTrace()); 
    } 

<div>Current Logged User: 
     <span id="userLoginName"></span> 
     <span id="userId"></span> 
     <span id="userTitle"></span> 
     <span id="userEmail"></span> 
    </div> 


Это будет отображать информацию о пользователе для любого зарегистрированного пользователя.

+0

Это не я хочу, но спасибо за ваш ответ. – ZivHus