【问题标题】:Salesforce bulk api using the python simplesalesforce package使用 python simplesalesforce 包的 Salesforce 批量 api
【发布时间】: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

标签: python python-3.x salesforce simple-salesforce


【解决方案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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多