在Sharepoint中如何使用REST API在浏览器中获取打开文档的列表高级设置

时间:2015-09-11 07:06:07

标签: list sharepoint

使用REST API我想访问它 设置>>高级设置>>在浏览器中打开文档

有人能知道吗?

由于

1 个答案:

答案 0 :(得分:1)

SSOM 中,此功能对应于SPList.DefaultItemOpen property

  

获取或设置一个值,该值指定是否在a中打开列表项   客户端应用程序或在浏览器中。

REST / CSOM 中,此属性已公开但可以通过列表架构Xml 提取和确定。有关此方法的更多详细信息,请参阅this post

示例

以下示例演示如何使用REST API确定是在客户端应用程序中还是在浏览器中打开列表项:

function schemaXml2Json(schemaXml)
{ 
    var jsonObject = {};
    var schemaXmlDoc = $.parseXML(schemaXml);
    $(schemaXmlDoc).find('List').each(function() {
      $.each(this.attributes, function(i, attr){
           jsonObject[attr.name] = attr.value;
      });
    });
    return jsonObject;
}    

function getDefaultItemOpen(webUrl,listTitle)
{
    var endpointUrl = webUrl + "/_api/web/lists/getbytitle('" + listTitle + "')?$select=schemaXml";
    return $.getJSON(endpointUrl).then(function(data){
             var listProperties = schemaXml2Json(data.SchemaXml);
             var flags = parseInt(listProperties.Flags);
             var defaultItemOpen = (flags & 268435456) != 0 ? "Browser" : "PreferClient";
             return defaultItemOpen;   
           });
}

用法

getDefaultItemOpen(_spPageContextInfo.webAbsoluteUrl,'Documents')
.done(function(value){
    console.log('DefaultItemOpen: ' + value);
});