javascript - SharePoint Rest 文档库

标签 javascript rest sharepoint sharepoint-2013 sharepointdocumentlibrary

我正在创建一个自定义页面,为 SharePoint 网站编写 HTML 和 javascript。我想将文档库嵌入到我在 SharePoint 设计器中编写的自定义 html 中。

我还没有找到一种在自定义 html 中轻松嵌入文档库的方法,但确实偶然发现了一些关于 REST API 的文档。我想我可以使用它并在 html 中编写我自己的 ajax 应用程序,以便用户导航文档库。

我目前正在尝试使用此 javascrip 只是为了看看是否可以提取 html 或 JSON 来获取文档库内容:

<script type="text/javascript">
var folderUrl = "x/x/x/testDocumentLibrary/Forms/AllItems.aspx";
var url = _spPageContextInfo.webServerRelativeUrl + "/_api/Web/GetFolderByServerRelativeUrl('" + folderUrl + "')?$expand=Folders,Files";

$.getJSON(url,function(data,status,xhr){

    for(var i = 0; i < data.Files.length;i++){
        console.log(data.Files[i].Name);    
    }

    for(var i = 0; i < data.Folders.length;i++){
        console.log(data.Folders[i].Name);    
    }
});
 </script>

我不确定 folderUrl 变量是否使用了正确的 url。

为了进行一些测试,_spPageContextInfo.webServerRelativeURL 正在拉动什么?我正在尝试查看是否可以向后工作并首先手动创建 URL,而不调用 SP 函数。

最佳答案

示例代码中的 folderUrl 变量应以库的路径结尾;直到 /Forms/AllItems.aspx 为止的所有内容,因此 /x/x/x/testDocumentLibrary 其中 /x/x/x/ 是库所在站点的服务器相对路径。

_spPageContextInfo 对象提供服务器相对 URL 的两种变体,一种用于当前网站(在 SharePoint 术语中称为“web”),另一种用于当前网站集合(在 SharePoint 行话中称为“网站”)。这些属性适本地标记为 webServerRelativeURLsiteServerRelativeURL。这两个都是与服务器相关的,这意味着它们排除域名的第一部分。 (他们将为您提供 /sites/stackoverflow,而不是 https://constoso.com/sites/stackoverflow。)

对于 REST 调用,您可能需要绝对 URL,而不是相对于服务器的 URL。您可以通过 _spPageContextInfo 的属性 webAbsoluteURLsiteAbsoluteURL 访问网站和网站绝对 URL。

如果您要访问的列表/库位于运行 REST 的当前站点上,请使用 webAbsoluteURL 属性。

关于javascript - SharePoint Rest 文档库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42985011/

相关文章:

java - JAX-RS 发布多个对象

javascript - 使用 Route Resolve 进行 Angular 服务器端渲染

java - org.springframework.web.client.RestTemplate 预计被声明为 @Bean 和普通 @Autowired 抛出错误

javascript - 在 JS 中寻找类型转换规则

javascript - ember 适配器通行证 ID

c# - 我如何解决这个错误, "error while trying to deserialize parameter"

c# - 向 Lambda 函数添​​加断点

sharepoint - Moss 2007:更改搜索选项的标签(高级搜索)

javascript - 如何从 YouTube 播放列表获取视频 ID?

javascript - Ajax请求返回空数组