从Apex / VisualForce中检测Salesforce版本和/或功能

时间:2010-12-12 03:09:57

标签: salesforce apex-code

在Apex类中,如何检测版本(即Group,Professional,Enterprise,Unlimited)。更具体地说,是否有用于检索用户版本功能(或缺少功能)的API?

我想解决的问题是,在Group / Professional版本中,用户无法访问我的应用程序中的自定义Web服务,收到错误LOGIN_OAUTH_API_DISABLED。有没有办法检测这是否会在Apex中起作用?

3 个答案:

答案 0 :(得分:2)

您可以使用以下SOQL来确定组织的许可证类型:

SELECT OrganizationType FROM Organization

对于专业版,它将返回“专业版”。详情请见Organization object page

答案 1 :(得分:1)

您是否有任何特定功能需要发现?没有办法确定版本(如果可以的话,这将主要是红鲱鱼)。很多差异最终会反映在数据模型中,您可以发现使用describe features

如果您想从顶点检查您的网络服务是否已启用/可用,那么您可以使用apex标注尝试拨打电话(而FWIW,错误代码来自OAuth,而不是来自您的顶级网络服务)

答案 2 :(得分:-3)

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

咄。你如何在Group / Professional Editions中运行任何Apex代码?没有Apex,Visualforce页面必须非常简单(没有Apex =没有自定义控制器),没有webservices API(这也意味着没有Data Loader)......

我会说保留现有代码并将其包装在try-catch块中?