如何获取salesforce组织中安装的所有软件包的命名空间?

时间:2014-04-19 23:17:04

标签: salesforce apex

我想获取salesforce组织中安装的所有软件包的名称空间前缀。我该怎么办?

2 个答案:

答案 0 :(得分:1)

一个相当简单的方法是查询和ApexClass对象并获取不同的NamespacePrefix值。

  

从ApexClass Group By NamespacePrefix

中选择NamespacePrefix

这假设每个安装的托管包至少有一个ApexClass,可能不是这种情况。您可以将其展开以包含ApexPage和ApexTrigger sObjects。同样,托管包没有Visualforce页面或触发器,也不会获取命名空间。

更全面的选项是对MetaData API使用listMetadata调用。从Apex调用可能会更加繁琐。

顺便提一下,salesforce.stackexchange.com网站是询问Salesforce特定问题的好地方。

答案 1 :(得分:1)

SOQL = "SELECT NamespacePrefix FROM PackageLicense"

此SOQL查询将使用各自的命名空间(

)停用所有已安装的软件包