Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sharepoint 2010 SharePoint客户端对象模型中重用器的替代方案_Sharepoint 2010_Sharepoint Clientobject - Fatal编程技术网

Sharepoint 2010 SharePoint客户端对象模型中重用器的替代方案

Sharepoint 2010 SharePoint客户端对象模型中重用器的替代方案,sharepoint-2010,sharepoint-clientobject,Sharepoint 2010,Sharepoint Clientobject,我需要使用客户端对象模型获取SharePoint 2010中用户的LookUpId。我可以使用EnsureReuser方法获取它,但是如果用户无法访问SharePoint网站,则此方法会将用户添加到该网站。我的要求是在不将用户添加到SharePoint的情况下获取LookupId 有没有其他方法可以在不使用EnsureReuser方法的情况下获取LookupId? 如果没有,在使用EnsureReuser方法获取LookupId后,我们是否可以从SharePoint网站删除该用户 感谢您的建议。

我需要使用客户端对象模型获取SharePoint 2010中用户的LookUpId。我可以使用EnsureReuser方法获取它,但是如果用户无法访问SharePoint网站,则此方法会将用户添加到该网站。我的要求是在不将用户添加到SharePoint的情况下获取LookupId 有没有其他方法可以在不使用EnsureReuser方法的情况下获取LookupId? 如果没有,在使用EnsureReuser方法获取LookupId后,我们是否可以从SharePoint网站删除该用户

感谢您的建议。

获取包含该网站的网站集的用户信息列表

下面的代码演示了如何通过用户名获取userInfo(包括
userId
property):

function getUserInfo(userName,Success,Error)
{
   var context = new SP.ClientContext.get_current();
   var userInfoList = context.get_web().get_siteUserInfoList();
   var query = new SP.CamlQuery();
   var viewXml = "<View> \
                    <Query> \
                       <Where> \
                           <Eq><FieldRef Name='UserName' /><Value Type='Text'>" + userName + "</Value></Eq> \
                       </Where>  \
                    </Query> \
                    <RowLimit>1</RowLimit> \
                  </View>";
   query.set_viewXml(viewXml);
   var items = userInfoList.getItems(query);
   context.load(items,'Include(Deleted,Department,EMail,FirstName,ID,IsActive,IsSiteAdmin,JobTitle,LastName,MobilePhone,Name,Notes,Office,Picture,SipAddress,UserName,WebSite,WorkPhone)');
   context.executeQueryAsync(function(){
       if(items.get_count() > 0) {
          var item = items.itemAt(0);
          Success(item.get_fieldValues());
       }
       else {
          Success(null);
       }   
     },
     Error
   );
}




//Usage
getUserInfo('username@tenant.onmicrosoft.com',function(userInfo){
       console.log('User Id: ' + userInfo.ID);
    },
    function(sender,args){
       console.log(args.get_message());
});    
函数getUserInfo(用户名、成功、错误) { var context=new SP.ClientContext.get_current(); var userInfoList=context.get_web().get_siteUserInfoList(); var query=new SP.CamlQuery(); var viewXml=”\ \ \ “+用户名+”\ \ \ 1 \ "; query.set_viewXml(viewXml); var items=userInfoList.getItems(查询); 加载(项目,'包括(已删除、部门、电子邮件、名字、ID、IsActive、ISISTEAdmin、职务头衔、姓氏、手机、姓名、备注、办公室、图片、SipAddress、用户名、网站、工作电话)'; executeQueryAsync(函数(){ if(items.get_count()>0){ var item=items.itemAt(0); 成功(item.get_fieldValues()); } 否则{ 成功(空); } }, 错误 ); } //用法 getUserInfo('username@tenant.onmicrosoft.com,函数(userInfo){ log('User Id:'+userInfo.Id); }, 函数(发送方,参数){ console.log(args.get_message()); });
client对象模型的Web类具有“SiteUserInfoList”属性。它是指向隐藏列表的链接,其中包含当前网站集上的所有现有用户。如果您不想使用EnsureReuser方法,您可以尝试查询以获取用户。感谢您提供的解决方案。还有一个问题。。实际上,我需要使用客户机对象模型更新文档的“修改人”。如果该用户在站点中不可用,但在AD中存在,该怎么办?是否可以在不知道查找ID的情况下将该用户添加到“修改人”字段?建议将用户从active directory导入SharePoint(用户配置文件)。我无权访问服务器。使用EnsureReuser获取LookupId并更改“modified by”字段并将用户从站点中删除是否可以?我必须很密集,但我并不清楚这是用什么语言编写的。JavaScript?