批量上传文件至特定联系人 Salesforce
Mass Upload Files To Specific Contacts Salesforce
我需要将大约 2000 个文档上传到 salesforce 中的特定用户。我有一个 csv 文件,其中包含 Salesforce 分配的 ContactID,以及我桌面上文件的直接路径。每个联系人的特定文件 url 已包含在 csv 中。我怎样才能将它们全部上传,尤其是上传到正确的联系人?
您的 CSV 应包含以下字段:
- ParentID = 您想要 link 附件的对象的 ID(联系人的 ID)
- 名称 = 文件名
- ContentType = 扩展名(.xls 或 .pdf 或 ...)
- OwnerId = 如果为空我相信它将您的用户作为所有者
- body = 文件在您机器上的位置(例如:C:\SFDC\Files\test.pdf
使用此 csv 将记录(通过数据加载器)插入附件对象。
然后您将看到每个联系人的记录已添加到 'Notes & Attachments' 相关列表。
您在评论/聊天中表示您想要它 "Files"。
"Files" object 比附件复杂一点,您需要分 2-3 步完成。您看到的文件(您可能会在文档中看到它被称为 Chatter 文件或 Salesforce 内容)实际上是几个表格。有
ContentDocument
可以是一种文件 header(标题、描述、语言、标签、linkSF 中许多其他区域的年龄 - 因为它可以独立,它可以上传到某些 SF 内容库,它可以 linked 到帐户,联系人,$_GOD 知道还有什么)
ContentVersion
这很好,实际有效负载。开箱即用仅显示最新版本,但如果您真的想要,可以及时返回
- 以及更多
糟糕的部分是您不能直接插入 ContentDocument
(操作列表中没有 create() 调用)。
理论
所以你需要:
- 插入 ContentVersion(v1 会自动为您创建 parent ContentDocuments...听起来有点 ass-backwards 但它有效)。完成此操作后,您将加载一堆独立文档,但不会 linked 到任何 Contacts
- 了解他们的 parent ContentDocuments
的 ID
- 插入
ContentDocumentLink
条将连接联系人及其 PDF 的记录
练习
这是我的 C:\stacktest 文件夹。它包含一些 SF 作弊 sheet PDF。
这是我加载第 1 部分的文件
Title PathOnClient VersionData
"Lightning Components CheatSheet" "C:\stacktest\SF_LightningComponents_cheatsheet_web.pdf" "C:\stacktest\SF_LightningComponents_cheatsheet_web.pdf"
"Process Automation CheatSheet" "C:\stacktest\SF_Process_Automation_cheatsheet_web.pdf" "C:\stacktest\SF_Process_Automation_cheatsheet_web.pdf"
"Admin CheatSheet" "C:\stacktest\SF_S1-Admin_cheatsheet_web.pdf" "C:\stacktest\SF_S1-Admin_cheatsheet_web.pdf"
"S1 CheatSheet" "C:\stacktest\SF_S1-Developer_cheatsheet_web.pdf" "C:\stacktest\SF_S1-Developer_cheatsheet_web.pdf"
Fire Data Loader,select 插入,select 显示所有 Salesforce object。查找内容版本。加载应该很简单(如果遇到内存问题,请将批处理大小设置为较低的值,如果确实需要,一次甚至可以设置 1 条记录)。
你会得到一个"success file",没用。我们不需要生成的内容版本的 ID,我们需要它们的 parents... 在 Data Loader 中启动 "Export",再次选择所有 objects,选择 ContentDocument。使用与此类似的查询:
Select Id, Title, FileType, FileExtension
FROM ContentDocument
WHERE CreatedDate = TODAY AND CreatedBy.FirstName = 'Ethan'
你应该看到这样的东西:
"ID","TITLE","FILETYPE","FILEEXTENSION"
"0690g0000048G2MAAU","Lightning Components CheatSheet","PDF","pdf"
"0690g0000048G2NAAU","Process Automation CheatSheet","PDF","pdf"
"0690g0000048G2OAAU","Admin CheatSheet","PDF","pdf"
"0690g0000048G2PAAU","S1 CheatSheet","PDF","pdf"
使用 Excel 和 VLOOKUP 的魔法或其他类似的东西 link 将它们按标题返回到联系人。你写道你已经有一个包含联系人 ID 和标题的文件所以有希望......创建一个这样的文件:
ContentDocumentId LinkedEntityId ShareType Visibility
0690g0000048G2MAAU 0037000000TWREI V InternalUsers
0690g0000048G2NAAU 0030g000027rQ3z V InternalUsers
0690g0000048G2OAAU 0030g000027rQ3a V InternalUsers
0690g0000048G2PAAU 0030g000027rPz4 V InternalUsers
第一列是文件 ID,然后是联系人 ID,然后是一些黑魔法,如果需要,您可以在 ContentDocumentLink
文档中阅读和更改。
将其作为插入内容加载到(再次显示所有 objects)ContentDocumentLink。
哇哦!啤酒时间。
我需要将大约 2000 个文档上传到 salesforce 中的特定用户。我有一个 csv 文件,其中包含 Salesforce 分配的 ContactID,以及我桌面上文件的直接路径。每个联系人的特定文件 url 已包含在 csv 中。我怎样才能将它们全部上传,尤其是上传到正确的联系人?
您的 CSV 应包含以下字段: - ParentID = 您想要 link 附件的对象的 ID(联系人的 ID) - 名称 = 文件名 - ContentType = 扩展名(.xls 或 .pdf 或 ...) - OwnerId = 如果为空我相信它将您的用户作为所有者 - body = 文件在您机器上的位置(例如:C:\SFDC\Files\test.pdf
使用此 csv 将记录(通过数据加载器)插入附件对象。 然后您将看到每个联系人的记录已添加到 'Notes & Attachments' 相关列表。
您在评论/聊天中表示您想要它 "Files"。
"Files" object 比附件复杂一点,您需要分 2-3 步完成。您看到的文件(您可能会在文档中看到它被称为 Chatter 文件或 Salesforce 内容)实际上是几个表格。有
ContentDocument
可以是一种文件 header(标题、描述、语言、标签、linkSF 中许多其他区域的年龄 - 因为它可以独立,它可以上传到某些 SF 内容库,它可以 linked 到帐户,联系人,$_GOD 知道还有什么)ContentVersion
这很好,实际有效负载。开箱即用仅显示最新版本,但如果您真的想要,可以及时返回- 以及更多
糟糕的部分是您不能直接插入 ContentDocument
(操作列表中没有 create() 调用)。
理论
所以你需要:
- 插入 ContentVersion(v1 会自动为您创建 parent ContentDocuments...听起来有点 ass-backwards 但它有效)。完成此操作后,您将加载一堆独立文档,但不会 linked 到任何 Contacts
- 了解他们的 parent ContentDocuments 的 ID
- 插入
ContentDocumentLink
条将连接联系人及其 PDF 的记录
练习
这是我的 C:\stacktest 文件夹。它包含一些 SF 作弊 sheet PDF。
这是我加载第 1 部分的文件
Title PathOnClient VersionData
"Lightning Components CheatSheet" "C:\stacktest\SF_LightningComponents_cheatsheet_web.pdf" "C:\stacktest\SF_LightningComponents_cheatsheet_web.pdf"
"Process Automation CheatSheet" "C:\stacktest\SF_Process_Automation_cheatsheet_web.pdf" "C:\stacktest\SF_Process_Automation_cheatsheet_web.pdf"
"Admin CheatSheet" "C:\stacktest\SF_S1-Admin_cheatsheet_web.pdf" "C:\stacktest\SF_S1-Admin_cheatsheet_web.pdf"
"S1 CheatSheet" "C:\stacktest\SF_S1-Developer_cheatsheet_web.pdf" "C:\stacktest\SF_S1-Developer_cheatsheet_web.pdf"
Fire Data Loader,select 插入,select 显示所有 Salesforce object。查找内容版本。加载应该很简单(如果遇到内存问题,请将批处理大小设置为较低的值,如果确实需要,一次甚至可以设置 1 条记录)。
你会得到一个"success file",没用。我们不需要生成的内容版本的 ID,我们需要它们的 parents... 在 Data Loader 中启动 "Export",再次选择所有 objects,选择 ContentDocument。使用与此类似的查询:
Select Id, Title, FileType, FileExtension
FROM ContentDocument
WHERE CreatedDate = TODAY AND CreatedBy.FirstName = 'Ethan'
你应该看到这样的东西:
"ID","TITLE","FILETYPE","FILEEXTENSION"
"0690g0000048G2MAAU","Lightning Components CheatSheet","PDF","pdf"
"0690g0000048G2NAAU","Process Automation CheatSheet","PDF","pdf"
"0690g0000048G2OAAU","Admin CheatSheet","PDF","pdf"
"0690g0000048G2PAAU","S1 CheatSheet","PDF","pdf"
使用 Excel 和 VLOOKUP 的魔法或其他类似的东西 link 将它们按标题返回到联系人。你写道你已经有一个包含联系人 ID 和标题的文件所以有希望......创建一个这样的文件:
ContentDocumentId LinkedEntityId ShareType Visibility
0690g0000048G2MAAU 0037000000TWREI V InternalUsers
0690g0000048G2NAAU 0030g000027rQ3z V InternalUsers
0690g0000048G2OAAU 0030g000027rQ3a V InternalUsers
0690g0000048G2PAAU 0030g000027rPz4 V InternalUsers
第一列是文件 ID,然后是联系人 ID,然后是一些黑魔法,如果需要,您可以在 ContentDocumentLink
文档中阅读和更改。
将其作为插入内容加载到(再次显示所有 objects)ContentDocumentLink。
哇哦!啤酒时间。