使用 python simplesalesforce 包的 Salesforce 批量 api
Posted
技术标签:
【中文标题】使用 python simplesalesforce 包的 Salesforce 批量 api【英文标题】:Salesforce bulk api using the python simplesalesforce package 【发布时间】:2018-10-20 23:32:02 【问题描述】:我正在使用带有 python 3 的 simple-salesforce python 包。根据documentation,我应该能够使用此语法批量更新记录:
data = ['Id': '0000000000AAAAA', 'Email': 'examplenew@example.com', 'Id':'0000000000BBBBB', 'Email': 'testnew@test.com']
sf.bulk.Contact.update(data)
但是我实现的 simple-salesforce 实例无法识别
sf.bulk.Custom_Object__c
当我尝试执行时:
sf.bulk.Custom_Object__c.update(data)
我收到此错误:
AttributeError Traceback (most recent call last)
<ipython-input-126-b287358940fc> in <module>()
----> 1 sf.bulk.Custom__bject__c.update(data)
AttributeError: 'SFType' object has no attribute 'Custom_Object__c'
之前有没有其他人使用过 simple-salesforce python 包并遇到过这个问题?
【问题讨论】:
与 Python 2.7.13 相同的问题 那些库正在更改属性名称,例如方法和所有新版本中的所有内容,并且没有适当的说明。您可以在其文档的示例代码中验证该属性。我经历过类似的问题。 Salesforce-bulk 库将 1.1.0 中的属性 post_bulk_batch 更改为 2.1.0 版本中的 post_batch 【参考方案1】:我经常使用sf.bulk.Custom_Object__c.update(data)
,从来没有遇到过这个问题。我建议尝试以下故障排除方法:
sf = Salesforce(password=userPassword, username=userName, organizationId=orgId)
) 将您带入正确的组织(您的 orgId
正确)
作为最后的努力,您可以尝试重新安装 simple-salesforce。我建议这是因为我在使用此类命令时遇到的通常错误会导致 SalesforceMalformedRequest
错误而不是 Attribution
错误,并且您可能使用的是过时版本的 Simple-Salesforce
【讨论】:
以上是关于使用 python simplesalesforce 包的 Salesforce 批量 api的主要内容,如果未能解决你的问题,请参考以下文章
Python基础 -- Python环境的安装pip的使用终端运行python文件Pycharm的安装和使用Pycharm基本设置:设置Python文件默认格式