ユーザーが sharepoint 2010 ドキュメント センターのドキュメントを読んだかどうかを追跡したいのですが、現在、ユーザー情報は監査ログに保存されていません。それを行う方法はありますか?
質問する
3892 次
2 に答える
0
監査ログに保存されます。その特定のドキュメント ライブラリの監査を有効にしてから、次のコードを使用して詳細を取得します。
SPSite oSPsite = new SPSite
SPList doclib= oSPWeb.Lists["doclib"];
SPWeb oSPWeb = oSPsite.OpenWeb()
SPListItemCollection doclibitems= doclib.Items;
foreach (SPListItem odoclibItem in doclibitems)
{
odoclibItem .Audit.AuditFlags = SPAuditMaskType.View;
// odoclibItem .Audit.AuditFlags = SPAuditMaskType
SPAuditQuery oquery = new SPAuditQuery(oSPsite);
oquery.RestrictToListItem(odoclibItem );
odoclibItem .Audit.Update();
SPAuditEntryCollection oAuditEntryCollection =SPsite.Audit.GetEntries(oquery);
foreach (SPAuditEntry entry in oAuditEntryCollection)
{
if (entry.Event == SPAuditEventType.View)
{
id = Convert.ToString(entry.UserId);
// get the user name and other details here
}
}
}
于 2013-07-10T12:10:22.530 に答える