2010-12-12 2 views
2

Из класса Apex, как я могу определить версию (например, Group, Professional, Enterprise, Unlimited). В частности, существует ли API для извлечения возможностей (или их отсутствия) для выпуска пользователя?Обнаружить выпуск и/или возможности Salesforce от Apex/VisualForce

Проблема, которую я пытаюсь решить, заключается в том, что из выпуска Group/Professional пользователи не могут получить доступ к пользовательским веб-службам в моем приложении, получив ошибку LOGIN_OAUTH_API_DISABLED. Есть ли способ определить, будет ли это работать из Apex?

ответ

2

Вы можете использовать следующую SOQL для определения типа лицензии Организации:

SELECT OrganizationType FROM Organization 

Для специалистов он будет возвращать "Professional Edition". Это подробно описано на странице Organization object page.

1

Есть ли какие-либо конкретные возможности, которые вы ищете? Невозможно определить издание (и это будет в основном красная селедка, если можно). Много различий в конечном итоге отражается в модели данных, и вы можете обнаружить, что с помощью describe features.

Если вы хотите проверить с вершины, если ваши веб-службы включены/доступны, то вы можете использовать апексные выноски, чтобы попытаться сделать вызов (и FWIW, код ошибки - от OAuth, а не от вашей вершины веб-сервис)

+0

Спасибо superfell, я обновил свой вопрос с помощью конкретной возможности, которую я пытаюсь обнаружить. – Vincent

+0

Спасибо за ваш обновленный ответ. Я понимаю, что нет простого решения этой проблемы, это подтвердило то, что я уже знал ;-) В любом случае спасибо за то, что предложили свои мысли! – Vincent

-3

"Apex is included in Unlimited Edition, Developer Edition, and Enterprise Edition."

Duh. Как вы собираетесь запускать любой код Apex в Group/Professional Editions? Там нет Apex, страницы Visualforce должны быть очень простыми (нет Apex = нет пользовательских контроллеров), нет API-интерфейсов webservices (что также означает отсутствие загрузчика данных) ...

Я бы сказал, просто сохраните существующий код и заверните его в блок try-catch?

+0

Вы можете развернуть управляемое приложение в группу/профессионал после того, как оно прошло проверку безопасности. – Vincent

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