如何使用系统管理员令牌(REST API)将文件上传到用户的 "文件 "标签?

问题描述 投票:1回答:1

作为一个系统管理员,我想从我的组织中获取所有由不同用户上传的文件.为了实现我的目标,我使用请求到 GET /services/data/v48.0/query/?q=SELECT+Id+FROM+ContentDocument+USING+SCOPE+Everything. 但这里有一个问题:当用户删除他的文件时,我想用系统管理员令牌上传该文件,但可以改变其所有者(回到删除该文件的用户)。谁能帮我解决这样的问题?

rest api salesforce salesforce-lightning
1个回答
1
投票

这有点违反直觉,但要上传一个文件,你需要上传 ContentVersion 记录。如果父级查找(ContentDocumentId)字段将为空白--它将默默地创建父级的 ContentDocument 为您提供。

上传的例子可以在这里找到。https:/developer.salesforce.comdocsatlas.en-us.api_rest.metaapi_restdome_sobject_insert_update_blob.htm。

(我已经为你回答过了,不是吗?))

所以,唯一的区别是,你想把它设置为 OwnerId,也可能是 CreatedById 作为该用户。只要所有者是一个活跃的用户,你就可以设置所有者总是。"创建者"、"最后修改者 "是审计字段,通常不可编辑。如果所有者是不活跃的,或者你真的想设置 "创建者"--你可以。但你只有一次机会,审计字段只能在插入时设置。之后的每次更新都是由SF管理的。检查 帮忙 如果你需要更多信息


现在......这并不总是需要的。好吧,你会重新创建文件,但所有指向它的链接(从其他记录,从聊天帖,图书馆)都会丢失。它在 ContentDOcumentLink 如果你删除了文件 - 他们级联删除。你可能没有信息或权限来重新创建所有的链接。

你的第一道防线可能是检查文件是否可以从回收站恢复。这在纯粹的REST API中是做不到的,但是你可以使用SF SOAP API或者写一个Apex服务来为你做这件事。请看 https:/salesforce.stackexchange.comquestions117370如何使用rest-api删除一个记录? 的提示。

© www.soinside.com 2019 - 2024. All rights reserved.