2010-12-12 10 views
2

Apexクラスの中から、エディション(つまり、グループ、プロフェッショナル、エンタープライズ、無制限)を検出するにはどうすればよいですか。具体的には、ユーザーのエディションの機能(またはその機能不足)を取得するためのAPIはありますか?Salesforce Editionおよび/またはApex/VisualForceの機能を検出する

私が解決しようとしている問題は、グループ/プロフェッショナルエディションでは、ユーザーがLOGIN_OAUTH_API_DISABLEDというエラーを受け取って、アプリケーションのカスタムWebサービスにアクセスできないということです。これがApex内で動作するかどうかを検出する方法はありますか?

答えて

2

あなたは組織のライセンスの種類を決定するために、次のSOQLを使用することができます。

SELECT OrganizationType FROM Organization 

プロフェッショナルのために、それは「プロフェッショナル・エディション」を返します。これはOrganization object pageで詳しく説明されています。

1

発見したい特定の機能はありますか?版を決定する方法はありません(そして、可能であれば、これは主に赤いニシンになります)。多くの違いがデータモデルに反映され、describe featuresを使用してその違いを検出できます。

Webサービスが有効かどうかを確認する場合は、Apexのコールアウトを使用してコールしてください(FWIW、エラーコードはOAuthからであり、頂点からではありません)。 Webサービス)

+0

ありがとう、私は検出しようとしている特定の機能で私の質問を更新しました。 – Vincent

+0

最新の回答をいただきありがとうございます。私はこの問題に簡単な解決策はない、それは私がすでに知っていたことを確認した;-)あなたの考えを提供してくれてありがとう! – Vincent

-3

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

Duh。グループ/プロフェッショナル版でどのようにApexコードを実行しますか? Apexはありません。Visualforceページは非常にシンプル(Apex =カスタムコントローラなし)でなく、Webservices API(データローダも意味しません)を必要としません。

私はあなたの既存のコードをそのまま残してtry-catchブロック?

+0

セキュリティレビューを通過した管理対象アプリケーションをGroup/Professionalに導入できます。 – Vincent

関連する問題