gpt4 book ai didi

java - 用于将文件上传到 ContentDocument 对象的 JSON 语法和代码

转载 作者:行者123 更新时间:2023-12-02 03:02:15 25 4
gpt4 key购买 nike

我正在创建一个应用程序,用于将文件(当前仅限 .pdf)从共享文件夹导入到 Salesforce 环境。我找到了导入 Document 对象所需的 JSON 语法和代码的 Salesforce 文档,但无论出于何种原因,最初设置 Salesforce 实例的人员之前仅将文件上传为 ContentDocument 对象,而不是 Document 对象。

是否有标准的 JSON 代码格式可以直接将 .pdf 上传到 ContentDocument 对象。我所有的搜索查询都会引导我到 Data Loader,它似乎与我分配的任务不匹配。

https://developer.salesforce.com/docs/atlas.en-us.api_rest.meta/api_rest/dome_sobject_insert_update_blob.htm

最佳答案

ContentDocument不能直接创建记录。相反,您创建一个 ContentVersion通过 API 进行记录,Salesforce 会自动创建 ContentDocument ,或者如果您填充 ContentDocumentId,则将该版本添加到现有版本中字段

就记录的位置而言,您正在查看的文档是正确的,它只是没有提供如何在不使用多部分消息的情况下上传的明确示例。只要您保持在限制以下

You can insert or update blob data using a non-multipart message, but you are limited to 50 MB of text data or 37.5 MB of base64–encoded data.

您可以使用非多部分 JSON 请求来执行此操作。

您需要向

发出 POST 请求
<your instance URL>/services/data/v46.0/sobjects/ContentVersion 

使用 JSON 正文

{
"PathOnClient": <your file's name and extension>,
"Title": <your desired title>,
"VersionData": <base64-encoded file contents
}

如果您想直接与记录共享文件,请在 FirstPublishLocationId 中填充记录 ID 。 (这仅适用于文档;您无法将新版本添加到现有文档并以这种方式共享)。

(大部分)就是这样!您可能需要做的唯一另一件事是从 Salesforce 查询创建的记录以获取其关联的 ContentDocumentId如果您需要做更多共享工作。

关于java - 用于将文件上传到 ContentDocument 对象的 JSON 语法和代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57044642/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com