我的项目是提取我所有的销售人员表格的内容,包括自定义表格。为此,我需要知道列(字段)的名称,因为 SOQL 不支持“SELECT * from TABLENAME”。
使用 simple-salesforce,我知道以下工作:
sf = Salesforce(username='foo@bar.com', password='abcd', security_token='ZCdsdPdE4eI2DZMl5gwCFIGEFU')
field_data = sf.Contact.describe()["fields"]
但我的问题是我需要在上面的实际方法调用中参数化“Contact”字符串,以便我可以为我不知道名称的对象调用此方法(即未在标准salesforce中定义)。例如我需要做:
field_data = sf.CustomTableName.describe()["fields"]
当我尝试使用 SFType 类时:
contact = SFType('Contact',sf.sessionid,sf.sf_instance)
f = contact.describe()
我收到此错误:
Traceback (most recent call last):
File "./simple-example.py", line 13, in <module>
f = contact.describe()["fields"]
File "/Library/Python/2.7/site-packages/simple_salesforce/api.py", line 430, in describe
result = self._call_salesforce('GET', self.base_url + 'describe')
File "/Library/Python/2.7/site-packages/simple_salesforce/api.py", line 570, in _call_salesforce
'Authorization': 'Bearer ' + self.session_id,
TypeError: cannot concatenate 'str' and 'SFType' objects
提前感谢您的任何建议。