我正在尝试对哪些用户下载了特定内容对象进行一些分析。在用户界面上,我可以看到下载的是谁(以及何时)。有没有人知道我可以使用SOQL查询哪些对象,以查看用户X何时下载了文档Y.
由于
答案 0 :(得分:2)
内容下载存储在ContentVersionHistory对象中。如果你想查询用户x下载文件y的时间,其中x是User.Id,y是ContentVersion.Id,那么这段代码就可以到达那里:
DateTime mostRecentDownloadDateTime;
Id downloadedById = '00550000001NLJsAAO';
Id contentVersionId = '068P000000005ck';
List<ContentVersionHistory> mostRecentDownload =
[select createdDate, field from ContentVersionHistory
where createdById = :downloadedById
and contentVersionId = :contentVersionId
and field = 'contentVersionDownloaded'
order by createdDate desc
limit 1];
if(!mostRecentDownload.isEmpty())
mostRecentDownloadDateTime = mostRecentDownload.get(0).createdDate;
请注意内容版本和内容文档之间的区别。根据您的具体使用案例,您可能会关心其中一个。
有关完整详细信息,请查看Salesforce Webservices API中的内容ERD和内容对象。 http://www.salesforce.com/us/developer/docs/api/Content/sforce_api_objects_contentversionhistory.htm http://www.salesforce.com/us/developer/docs/api/Content/sforce_api_erd_content.htm