使用Javascript REST Api在页面上加载SharePoint列表数据,而无需在列表上拥有权限

时间:2014-05-30 11:02:14

标签: javascript rest sharepoint sharepoint-2013

在这个javascript中我在下拉框中加载了SharePoint列表“XYZ”的所有项ID。 我已从列表权限中删除了用户“Manoj”,但它在我使用内容编辑器放置此javascript的页面上拥有权限。 现在,当我使用站点管理员访问此页面时,我可以在下拉列表中看到列表项ID,但是当我移动下一个用户“Manoj”时,他没有列表的权限但是在页面上比它给我的消息 “拒绝访问。您无权执行此操作或访问此资源。”

所以我的问题是我们可以在Web部件页面中加载列表数据,其中用户没有列表权限但在页面上拥有完全权限吗?我问这个问题是因为如果用户只想使用网页部分页面添加或编辑数据,我不会授予用户查看列表和执行操作的权限。

如果没有,那么还有其他方法:使用javascript更改页面加载用户。

下面是我使用的javascript rest api

<script type="text/javascript">
$( window ).load(function() {
DisplayItem();
});
function DisplayItem(){

 var requestUri = 'http://abc/pharma/Zdus/RnD/_api/Web/Lists/getByTitle(\'XYZ\')/items'
 var requestHeaders = {
 'accept': 'application/json;odata=verbose'
 }; 
 $.ajax({
 url: requestUri, 
 dataType: "json", 
 type: 'GET',
 headers: requestHeaders,
success: function(json) {
var len= (json.d.results.length);
var x=document.getElementById("myList");
for (var i=0;i<len;i++)
{
var nid=(json.d.results[i].ID);
x.options[x.options.length] = new Option(nid, nid);
}
}, 
 error: function(error){
 alert(error.responseText);
 }
 });
}
</Script>
<div>
<label>Total Items</label>
       <select id="myList" >
        <option value=''></option>
</select>

任何帮助高度赞赏。 不是:这适用于网站管理员和拥有列表权限的用户

1 个答案:

答案 0 :(得分:0)

如果用户没有该列表的权限,您可以从Sharepoint加载或获取数据。

要从Sharepoint Atleast获取数据,需要读取权限。您只能向用户提供读取权限。