如何在Salesforce中下载自定义对象的所有记录的所有附件?

问题描述

我是Salesforce中文件处理的新手。我想获取附加到自定义对象的所有记录的所有文件。有人可以帮我吗?

解决方法

老式SF使用了Attachment个对象,您只需转到SELECT Body,ContentType,Name FROM Attachment WHERE ParentId = '...'

在Lightning中,您的附件很有可能被称为“文件”(实际的API名称为ContentDocument / ContentVersion)。检查附件的ID是否以068或069开头。它们没有直接链接到您的记录。而是在它们之间有一个ContentDocumentLink表,用于交叉共享同一文件。 (您上载它并浪费了数据库空间一次,然后可以在Chatter帖子,组,其他记录中将其交叉链接...)

官方ERD不好用,请尝试在设置->模式生成器中单击它,否则此答案可能会有所帮助:https://salesforce.stackexchange.com/a/160285/799。有一个示例查询可能需要微调一下,例如调整到SELECT ContentDocument.LatestPublishedVersion.VersionData以获得实际的有效载荷。

在此处查看有关ContentVersion的其他问题。例如https://stackoverflow.com/a/48668673/313628(这是关于上传的另一种方式,但应该可以给您带来好主意)。