Salesforce 有两个不同的 UI,根据它,它可以以不同的方式存储附件。通过经典 UI 上传了两个文件,它们被标记为“附件”。其他文件是通过新 UI 上传的,它们被标记为“文件”。我想使用 REST API 上传所有这些文件。我找不到合适的文档。有人可以帮我吗?
1 回答
这不是 100% 正确的。在 SF Classic UI 中,您也可以上传文件。“只是”知道表的正确 API 名称,您会在网上找到很多示例。
Attachment
并且Document
对象具有完全相同的 API 名称,您可以在SOAP API 定义或 REST API 资源管理器中查看它们的定义(您仍然可以在此处的屏幕截图中看到某些内容,现在似乎已关闭,也许他们正在将其移至另一个文档中的区域...)
文件(包括“Chatter 文件”)存储在对象中ContentDocument
。ContentVersion
这个名字出乎意料,因为很久以前顺丰买了另一家公司的产品,叫“Salesforce Content”。刚开始有点混乱,现在它更好地集成到整个平台中,但仍然潜伏着一些东西,比如文件文件夹有时在文档中可以称为库,但实际的 API 名称是ContentWorkspace
. 实体关系图可以有点帮助:https ://developer.salesforce.com/docs/atlas.en-us.api.meta/api/sforce_api_erd_content.htm
ContentDocument
是 SF 中许多地方链接到的标头(想象文件仅在磁盘上浪费一次空间,但从多个记录交叉链接)。它至少可以有 1 个版本,如果您需要更新文档 - 您将上传新版本,但 org 中的所有链接都不会更改,它们仍会链接到标题。
那么,如何使用呢?
- REST API 指南:https ://developer.salesforce.com/docs/atlas.en-us.api_rest.meta/api_rest/dome_sobject_insert_update_blob.htm
- 或者可能是 Chatter API 指南(你用 chatter 标记了它,所以你可能已经在使用它了):https ://developer.salesforce.com/docs/atlas.en-us.chatterapi.meta/chatterapi/connect_resources_files.htm
- 我在这里的一些答案可能会有所帮助(无耻的插头)。它们也是关于上传和读取数据的,一个甚至是关于数据加载器的……但是您可以先尝试导出文件,在加载之前熟悉结构?