2016-07-04 1 views
1

Я использую simple_salesforce и получаю все записи пользовательского объекта с именем «SER__Condition__c». Я знаю, что это имя, потому что я получил список имен таблиц от нашего администратора.
«api» - это экземпляр «simple_salesforce.Salesforce».
Это команда Я выполнение:simple-salesforce не распознает пользовательский объект

pprint(api.query('SELECT Id FROM SER__Condition__c')) 

который возвращает эту ошибку:

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'}] 

Используя ту же самую команду для объекта по умолчанию возвращает все записи, как ожидалось:

pprint(api.query('SELECT Id FROM Account')) 

То же самое относится и к следующим двум:

api.Account.get('xxxxxxxxxxxxxxxxxx') 
api.SER__Condition__c.get('xxxxxxxxxxxxxxxx') 

ответ

1

Возможно, это проблема с правами доступа. Убедитесь, что объект SER__Condition__c отображается пользователю, на котором выполняется запрос.

1

Я на 90% уверен, что проблема связана с именем объекта. В Salesforce соглашение об именах для настраиваемого объекта не может включать в себя два последовательных символа подчеркивания. Из сообщения об ошибке Salesforce при создании объекта: «Ошибка: поле« Имя объекта »может содержать только символы подчеркивания и буквенно-цифровые символы. Оно должно быть уникальным, начинаться с буквы, а не включать пробелы, а не заканчиваться подчеркиванием и не содержать двух последовательных символов подчеркивания «.

Если вы измените «SER__Condition__c» на «SER_Condition__c» (одно подчеркивание между «SER» и «Contition»), оно должно исправить проблему.

 Смежные вопросы

  • Нет связанных вопросов^_^