首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >simple-salesforce无法识别自定义对象

simple-salesforce无法识别自定义对象
EN

Stack Overflow用户
提问于 2016-07-04 21:44:31
回答 3查看 2.4K关注 0票数 2

我正在使用simple_salesforce并获取一个名为"SER__Condition__c“的自定义对象的所有记录。我知道这是一个事实,因为我从我们的管理员那里得到了一个表名列表。

其中api是simple_salesforce.Salesforce的一个实例。

这是我正在执行的命令:

代码语言:javascript
复制
pprint(api.query('SELECT Id FROM SER__Condition__c'))

这将返回以下错误:

代码语言:javascript
复制
  File "path\to\lib\simple_salesforce\api.py", line 698, in _exception_handler
    raise exc_cls(result.url, result.status_code, name, response_content)
simple_salesforce.api.SalesforceMalformedRequest: Malformed request https://xxx.salesforce.com/services/data/v29.0/query/?q=SELECT+Id+FROM+SER__Condition__c. Response content: [{'message': "\nSELECT Id FROM SER__Condition__c\n
       ^\nERROR at Row:1:Column:16\nsObject type 'SER__Condition__c' is not supported. If you are attempting to use a custom object, be sure to append the '__c' after the entity name. Please reference your WSDL or the describe call for the appropriate names.", 'errorCode': 'INVALID_TYPE'}]

对默认对象使用完全相同的命令将按预期返回所有记录:

代码语言:javascript
复制
pprint(api.query('SELECT Id FROM Account'))

这两种情况也是如此:

代码语言:javascript
复制
api.Account.get('xxxxxxxxxxxxxxxxxx')
api.SER__Condition__c.get('xxxxxxxxxxxxxxxx')
EN

回答 3

Stack Overflow用户

发布于 2016-07-09 10:04:46

这可能是权限问题。确保运行查询的用户可以看到SER__Condition__c对象。

票数 3
EN

Stack Overflow用户

发布于 2017-03-29 05:16:11

我90%确定问题出在对象的名称上。对于Salesforce,自定义对象的命名约定不能包含两个连续的下划线。在有关创建对象的Salesforce错误消息中:“错误:对象名称字段只能包含下划线和字母数字字符。它必须是唯一的,以字母开头,不包括空格,不以下划线结尾,并且不包含两个连续的下划线。”

如果您将"SER__Condition__c“更改为"SER_Condition__c”( "SER“和”Contition“之间的单个下划线),则应该可以解决此问题。

票数 3
EN

Stack Overflow用户

发布于 2021-02-26 00:42:16

是的,我通过编辑用户配置文件的自定义对象权限解决了此问题。看起来它的默认值是none。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38186262

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档