Salesforce SOQL查询以检索下载内容的用户

时间:2011-02-24 22:49:39

标签: salesforce

我正在尝试对哪些用户下载了特定内容对象进行一些分析。在用户界面上,我可以看到下载的是谁(以及何时)。有没有人知道我可以使用SOQL查询哪些对象,以查看用户X何时下载了文档Y.

由于

1 个答案:

答案 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