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

how to fix 'simple_salesforce.exceptions.SalesforceResourceNotFound' error that came when describing an object Lead?

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

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

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

但我想要一个可行的解决方案,我可以在 运行 时间提供对象名称,或者在我的情况下,我有一个对象列表。每次我都必须循环并描述它们。

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

我希望语句能正确执行,但它抛出了错误。

simple_salesforce 的连接对象(此处为 sf)具有表示每个可用 sObject 的合成属性。要使用 table 名称动态获取它,您必须使用 getattr()。否则,您指的是不存在的 属性 sf.source_table - 没有名为 source_table.

的 sObject

所以你可以

sf.Lead.describe()

getattr(sf, "Lead").describe()