首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Sharepoint REST获取列表的所有者/创建者信息

使用Sharepoint REST获取列表的所有者/创建者信息
EN

Stack Overflow用户
提问于 2014-03-19 15:50:13
回答 1查看 2.9K关注 0票数 2

使用Sharepoint REST,我能够获得文件和文件夹的“作者”(我将其作为所有者/创建者信息)信息。对于Files,我可以简单地展开"Author“元素并获取标题和UserId信息。对于文件夹,我必须使用展开"ListItemAllFields“的”ListItemAllFields“字段来进行后续的REST调用,以便通过Id解析标题和UserId信息(我也不喜欢这个额外的步骤,但我还没有找到一种方法来获取带有一个get的文件夹的信息)。但是,对于基本列表及其关联的“RootFolder”,即使展开RootFolder的ListItemAllFields,我也不会获得作者信息。是否有方法获取至少文档库列出的文件夹和文件所在的所有者\创建者信息?我期望扩展RootFolder的ListItemAllFields会给我"AuthorId“,就像它为文档库中创建的子文件夹所做的那样,但是我得到的全部信息是:

代码语言:javascript
复制
{
    "d": {
        "ListItemAllFields": null
    }
}
EN

回答 1

Stack Overflow用户

发布于 2014-11-09 19:08:30

ListItemAllFields属性返回与FileFolder对象关联的 List Item

用于列表对象

REST查询:

代码语言:javascript
复制
http://<sitecollection>/<site>/_api/web/lists/getbytitle(listtitle)/ListItemAllFields

不返回任何内容,因为List对象与列表项对象没有关联。

为了检索Author对象的List属性,可以使用以下方法。解决方案是从列表XML架构中提取Author属性。

以下方法用于返回List对象的所有可用属性:

代码语言:javascript
复制
function getListProperties(listTitle) {
   var listEndpointUrl = _spPageContextInfo.webAbsoluteUrl + "/_api/web/lists/getbytitle('" + listTitle + "')/SchemaXml";
   return getJson(listEndpointUrl).then(
          function(data){
              var schemaXml = data.d.SchemaXml;
              return schemaXml2Json(schemaXml);     
          });     
}

哪里

代码语言:javascript
复制
function getJson(url) 
{
    return $.ajax({       
       url: url,   
       type: "GET",  
       contentType: "application/json;odata=verbose",
       headers: { 
          "Accept": "application/json;odata=verbose"
       }
    });
}

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;
}    

使用

如何获取Author对象的List属性:

代码语言:javascript
复制
getListProperties('Discussion Board')
.done(function(properties)
{
    console.log('List created by: ' + properties.Author);
})
.fail(
function(error){
    console.log(JSON.stringify(error));
});

请跟随这个职位了解更多细节。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22511252

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档