如何通过Python调用Salesforce API查询所有已删除的Case记录
Salesforce 查询已删除Case记录的修正方案
- 普通SOQL查询默认仅返回未删除的有效记录,即使添加
isDeleted = true过滤条件也无法获取到回收站中的已删除数据,你需要切换到支持查询已删除记录的专用查询方式。 - 如果你使用Python常用的
simple-salesforce库对接API,直接将原来的query方法替换为query_all方法即可,该方法会默认返回包含已删除、已归档在内的所有符合条件的记录。
示例代码:
from simple_salesforce import Salesforce # 已省略Salesforce实例初始化逻辑,需自行补充账号、域名、token等配置 sf = Salesforce(username='你的账号', password='你的密码', security_token='你的token') # 使用query_all执行查询 res = sf.query_all("SELECT Id, CaseNumber, DeletedDate FROM Case WHERE IsDeleted = true") deleted_case_list = res.get('records', [])
- 如果你是原生调用Salesforce REST API,只需将原请求路径中的
query替换为queryAll即可:
普通查询路径:/services/data/v<你的API版本号>/query
查已删除记录路径:/services/data/v<你的API版本号>/queryAll - 注意事项:Salesforce回收站的已删除记录默认仅保留15天,超过保留期的记录无法通过该方式检索,需要联系管理员从数据备份中提取。
内容的提问来源于stack exchange,提问作者Kevin Nash
相关产品推荐
相关产品推荐

