Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/27.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
Javascript _在我检查用户权限之前,api/web/siteusers不会返回用户_Javascript_Jquery_Sharepoint - Fatal编程技术网

Javascript _在我检查用户权限之前,api/web/siteusers不会返回用户

Javascript _在我检查用户权限之前,api/web/siteusers不会返回用户,javascript,jquery,sharepoint,Javascript,Jquery,Sharepoint,如果我使用查询尚未登录到我们的新SharePoint网站的用户 _api/web/siteusers(@v)?@v='User i:0#.f|membership|someUser@amc.edu' 我没有结果。如果我在SP online中访问权限并检查someUser是否有权限(他们可能有权限,也可能没有权限),那么现在只需检查someUser的权限\u api/web/siteusers即可正常工作。 我看到了一些处理这个问题的链接,但我想知道它在sprLib中是如何工作的 有人知道如何

如果我使用查询尚未登录到我们的新SharePoint网站的用户

_api/web/siteusers(@v)?@v='User i:0#.f|membership|someUser@amc.edu' 
我没有结果。如果我在SP online中访问权限并检查
someUser
是否有权限(他们可能有权限,也可能没有权限),那么现在只需检查
someUser
的权限
\u api/web/siteusers
即可正常工作。 我看到了一些处理这个问题的链接,但我想知道它在sprLib中是如何工作的

有人知道如何确保sprLib中的用户安全吗

参考链接:


您可以使用RESTAPI来确保用户安全

function ensureUser(webUrl,loginName)
{
   var data = { 'logonName': loginName }; 
   return $.ajax({
      url: webUrl + "/_api/web/ensureuser",
      type: "POST",      
      data: JSON.stringify(data),
      headers: {
         "X-RequestDigest": $("#__REQUESTDIGEST").val(),
         "Accept": "application/json;odata=verbose",
     "Content-Type": "application/json;odata=verbose"
      }
   });  
}

var loginName = 'user login name'
ensureUser(_spPageContextInfo.webAbsoluteUrl,loginName)
.done(function(data)
{
    console.log('success');
})
.fail(function(error){
    console.log(error);
});
检查用户权限将调用服务器端确保用户基于我的经验,这样您就可以通过
\u api/web/siteusers
获得权限

更新:

不确定你是指sprestlib

<script src="https://cdn.jsdelivr.net/gh/gitbrent/sprestlib@1.8.0/dist/sprestlib.min.js"></script>
<script src="https://code.jquery.com/jquery-1.12.4.js"></script>
<script>
    sprLib.rest({
        url: _spPageContextInfo.webAbsoluteUrl + "/_api/web/ensureuser",
        data: "{ 'logonName': 'i:0#.f|membership|testa@xxxxxx.onmicrosoft.com'}",
        type: "POST",
        headers: {
            "X-RequestDigest": $("#__REQUESTDIGEST").val(),
            "Accept": "application/json;odata=verbose"
        }
    })
        .then(function () { console.log("log"); })
        .catch(function (errMsg) { console.error(errMsg) });

</script>

休息({
url:_spPageContextInfo.webAbsoluteUrl+“/_api/web/ensureuser”,
数据:“{'logonName':'i:0#.f |成员资格|testa@xxxxxx.onmicrosoft.com'}",
类型:“POST”,
标题:{
“X-RequestDigest”:$(“#u-RequestDigest”).val(),
“接受”:“application/json;odata=verbose”
}
})
.then(函数(){console.log(“log”);})
.catch(函数(errMsg){console.error(errMsg)});

谢谢。我知道在RESTAPI和Ajax请求中使用的可能性,但是有一种方法可以通过sprLib库来实现吗?如果不是,loginName需要是siteusers中的exec loginName?