我已经编写了一个程序来获取SharePoint中的网站信息,
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 :(得分: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>
这将显示任何已登录用户的用户信息。