javascript - 有没有办法使用 JS 从 SharePoint 列表中检索数据并为匿名用户保留列表权限的私有(private)性?

标签 javascript sharepoint spservices

我正在使用 JavaScript 从 SharePoint 列表中检索数据,如下所示。

$().SPServices({
   operation: 'GetListItems',
   async: false,
   listName: listName,
   CAMLViewFields: '<ViewFields></ViewFields>',    
   completefunc: function (xData, status) {
     if (status === 'success') {
       // I work with the data in "$(xData.responseXML).find('z\\:row, row')"

     } else {
    console.log('\n Status is ' + status + '\n And data is ' + xData);
    }
  }
});

但是,我需要向匿名用户授予列表读取权限才能使上述解决方案发挥作用。有没有一种方法可以使用 JavaScript 从 SharePoint 列表中检索数据,并为匿名用户保留 SharePoint 列表权限的私密性?

最佳答案

不,你不能。客户端脚本使用当前用户权限来访问列表,因此不可能查询私有(private)列表。但你可以:

  1. 创建一个新列表(包含您需要的列)并使用 MS Flow/Workflow 在 2 个列表之间同步,然后查询该列表。当然,新的名单需要公开。

  2. 开发一个 Web API。在此 Web api 中,您可以使用另一个帐户(或客户端 ID/客户端 key )从共享点列表中查询数据。通过客户端脚本,您可以从此 API 查询数据。

关于javascript - 有没有办法使用 JS 从 SharePoint 列表中检索数据并为匿名用户保留列表权限的私有(private)性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59905905/

相关文章:

javascript - 在 Node.js 中使用 "global"

javascript - 如何在同一页面上的画廊缩略图和特定幻灯片图像之间切换?

jquery - 如何从 SPListItem(当前项目)获取完整 URL?

javascript - 我无法将变量与 SPservices 中的字符串 String 进行比较

javascript - 向数组添加唯一元素

javascript - 强制从外部页面刷新网页

sharepoint - AllowUnsafeUpdates 的最佳模式

sharepoint - IF 函数 SharePoint - 非空列

仅用于将 + 符号附加到 span 类的第一个实例的 jQuery 选择器

sharepoint - 使用 SPServices 显示文档库中单个子文件夹的内容