SharePoint 2013 通过审计获取文档下载次数

时间:2022-12-12 08:56:43

  1、创建一个文档库,进入库设置,找到”Information management policy settings”,点进去,如下图:

SharePoint 2013 通过审计获取文档下载次数

  2、分别设置”Document”、”Folder”两个,如下图:

SharePoint 2013 通过审计获取文档下载次数

  3、勾选Enable Auditing,如下图:

SharePoint 2013 通过审计获取文档下载次数

  4、勾选所有的Event,如下图:

SharePoint 2013 通过审计获取文档下载次数

  5、代码,如下:

public static void GetDownLoadNum(string url, string siteurl)
{
SPSecurity.RunWithElevatedPrivileges(
delegate()
{
using (SPSite site = new SPSite(siteurl))
{
using (SPWeb web = site.OpenWeb())
{
web.AllowUnsafeUpdates
= true;
SPAuditQuery auditQuery
= new SPAuditQuery(site);
auditQuery.AddEventRestriction(SPAuditEventType.View);
auditQuery.RestrictToListItem(web.GetFile(url).Item);
SPAuditEntryCollection auditEntryCollection
= web.Audit.GetEntries(auditQuery);
Console.WriteLine(url);
Console.WriteLine(
"count:" + auditEntryCollection.Count.ToString());
}
}
});
}

  6、下载一次测试文档,运行代码,如下图:

SharePoint 2013 通过审计获取文档下载次数

总 结

  之前一直听说通过审计获取文档的下载次数,尝试一下用起来感觉还行,也看到有封装自定义字段的解决方案,或者timerjob的解决方案,感觉算是一种方式吧,简单写写开启和调用的方式给大家参考一下。

  特别想说的是,除了下载次数,还有一些其他event可以查看,除了列表项的审计信息,还有列表的相关信息,大家有兴趣的可以自己尝试一下。

  好了,就到这里,休息。。。休息一下。。。

参考文档

  http://msdn.microsoft.com/en-us/library/bb466223.aspx