使用 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),从来没有遇到过这个问题。我建议尝试以下故障排除方法:

在 Salesforce 中,转到设置菜单中的对象并确保您使用的是正确的 API 名称。有时自定义对象的标签与其 API 名称不同(即对象标签是否在创建后更改) 确认您的 simple-salesforce 初始化代码 (sf = Salesforce(password=userPassword, username=userName, organizationId=orgId)) 将您带入正确的组织(您的 orgId 正确) 作为最后的努力,您可以尝试重新安装 simple-salesforce。我建议这是因为我在使用此类命令时遇到的通常错误会导致 SalesforceMalformedRequest 错误而不是 Attribution 错误,并且您可能使用的是过时版本的 Simple-Salesforce

【讨论】:

以上是关于使用 python simplesalesforce 包的 Salesforce 批量 api的主要内容,如果未能解决你的问题,请参考以下文章

python使用独立空间

使用嵌入式 Python

python使用cookie登陆网页

Python基础 -- Python环境的安装pip的使用终端运行python文件Pycharm的安装和使用Pycharm基本设置:设置Python文件默认格式

在python使用SSL(HTTPS)

python 爬虫使用方法分享——安装python