car*_*mom 1 python salesforce simple-salesforce
我已成功查询表、提取架构并向(自定义)表添加一行,但无法弄清楚如何通过 API 再次删除该行。以下将列出我想要删除的行:
import config
from simple_salesforce import Salesforce
sf = Salesforce(password=config.PASSWORD,
username=config.EMAIL_SANDBOX,
organizationId='',
domain='test')
sf.query("SELECT Id FROM MyTable__c where id = 'a0D2R067009YpAeWAK'")
Run Code Online (Sandbox Code Playgroud)
已经尝试了网络上的各种东西太久了,最有可能的是这样的:
sf.query("delete [SELECT Id FROM MyTable__c where id = 'a0D2R067009YpAeWAK']")
Run Code Online (Sandbox Code Playgroud)
正如这里所描述的,但不幸的是它提出了:
SalesforceMalformedRequest:格式错误的请求https://eu20.salesforce.com/services/data/v38.0/query/?q=delete+%5BSELECT+Id+FROM+MyTable__c+where+id+%3D+%27a0D2R067009YpAeWAK%27%5D。响应内容:[{'message': '意外的令牌:删除', 'errorCode': 'MALFORMED_QUERY'}]
已经尝试过这方面的变体,结果基本相同。有什么想法如何让它发挥作用吗?
要删除 中的记录simple_salesforce,您必须调用 sObject 对应的连接属性上的方法。SOQL 查询是只读的,永远无法更新或删除数据,但 Anonymous Apex 可以。
simple_salesforce文档中有一个示例:
sf.Contact.delete('003e0000003GuNXAA0')
Run Code Online (Sandbox Code Playgroud)
如果您想通过 Anonymous Apex 来完成此操作,您可以使用该restful()方法来访问 Tooling API,但这不是执行简单删除操作的“正确”方法,并且会更慢。
sf.restful(
"tooling/executeAnonymous",
{"anonymousBody": "delete [SELECT Id FROM Contact WHERE <condition>];"},
)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2248 次 |
| 最近记录: |