如何修复描述对象Lead时出现的'simple_salesforce.exceptions.SalesforceResourceNotFound'错误?

时间:2019-08-09 09:48:14

标签: python pyspark salesforce restful-authentication simple-salesforce

我正在使用simple_salesforce API客户端从pyspark shell连接到salesforce,以查询对象列表。 当我试图描述对象以查找可用列的列表时,出现以下错误:

simple_salesforce.exceptions.SalesforceResourceNotFound:未找到资源source_table。响应内容:[{u'errorCode':u'NOT_FOUND',u'message':u'请求的资源不存在'}]

我观察到,当我使用变量名来存储对象(表)名时,我遇到了resourcenotfound错误。所以我在desc语句中将对象硬编码如下: desc = sf.Lead.desc() 现在可以了。

但是我想要一个可行的解决方案,其中我可以在运行时提供对象名称,或者就我而言,我有一个对象列表。每次我都要遍历并描述它们时。

    sf = Salesforce(username='xxxxxxx', password='yyyyyy', 
         security_token='')
    source_table = "Lead"
    desc = sf.source_table.describe()

我希望该语句能够正确执行,但是引发了错误。

1 个答案:

答案 0 :(得分:1)

tymon/jwt-auth的连接对象(此处为simple_salesforce)具有代表每个可用sObject的综合属性。要使用表名动态获取此名称,必须使用sf。否则,您引用的是属性getattr(),该属性不存在-没有名为sf.source_table的sObject。

所以你可以做

source_table

sf.Lead.describe()