Определить версию и / или возможности Salesforce от Apex / VisualForce - PullRequest
2 голосов
/ 12 декабря 2010

Как я могу обнаружить издание в классе Apex (т. Е. Для группы, для профессионалов, для предприятий, без ограничений).Более конкретно, существует ли API для получения возможностей (или их отсутствия) для редакции пользователя?

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

Ответы [ 3 ]

2 голосов
/ 13 октября 2012

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

SELECT OrganizationType FROM Organization

Для профессионала он вернет «Professional Edition». Это подробно описано на странице Объект организации .

1 голос
/ 12 декабря 2010

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

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

0 голосов
/ 12 декабря 2010

"Apex входит в состав Unlimited Edition, Developer Edition и Enterprise Edition."

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

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

...