我想获取salesforce组织中安装的所有软件包的名称空间前缀。我该怎么办?
答案 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查询将使用各自的命名空间(
)停用所有已安装的软件包