Rileva edizione e / o capacità di Salesforce da Apex / Visualforce
-
08-10-2019 - |
Domanda
Da all'interno di una classe Apex, come posso rilevare l'Edizione (vale a dire, di gruppo, Professional, Enterprise Unlimited). Più in particolare, v'è un'API per recuperare le capacità (o la sua mancanza) per l'edizione dell'utente?
Il problema che sto cercando di risolvere è che dall'edizione gruppo / Professional, gli utenti non possono accedere ai servizi Web personalizzati nella mia app, ricevendo l'errore LOGIN_OAUTH_API_DISABLED. C'è un modo per rilevare se questo sta andando a lavorare dal di dentro Apex?
Soluzione
È possibile utilizzare il seguente SOQL per determinare il tipo di licenza dell'Organizzazione:
SELECT OrganizationType FROM Organization
Per professionale tornerà "Professional Edition". Questo è dettagliata sul Organizzazione oggetto pagina .
Altri suggerimenti
Ci sono capacità specifiche che stai cercando di scoprire? Non c'è alcun modo per determinare l'edizione (e questo sarebbe per lo più un diversivo se si potesse). Un sacco di differenze finiscono per essere riflesso nel modello di dati, e si può scoprire che utilizzando il descrivono caratteristiche .
Se si desidera controllare dall'apice se i vostri servizi web è abilitato / a disposizione, allora si potrebbe utilizzare Apex didascalie per cercare di fare una chiamata ad esso (e FWIW, il codice di errore è da OAuth, e non dal vertice web di servizio)
"Apex è incluso nel illimitato Edition, Developer Edition ed Enterprise Edition. "
Duh. Come avete intenzione di eseguire qualsiasi codice Apex in Edizioni Gruppo / professionali? Non c'è nessuna pagina Apex, Visualforce deve essere molto semplice (senza Apex = nessun controller personalizzati), non webservices API (che significa anche non Data Loader) ...
Direi solo a mantenere il codice esistente e avvolgerlo in blocco try-catch?