如何列出salesforce组织中所有托管包对象的API名称

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何列出salesforce组织中所有托管包对象的API名称相关的知识,希望对你有一定的参考价值。

我正在尝试列出salesforce组织中可用的所有API名称。我可以使用以下代码检索所有对象API名称:

for ( Schema.SObjectType o : Schema.getGlobalDescribe().values() )
{
    Schema.DescribeSObjectResult objResult = o.getDescribe();
    system.debug( 'Sobject: ' + objResult );
    system.debug( 'Sobject API Name: ' + objResult.getName() );
    system.debug( 'Sobject Label Name: ' + objResult.getLabel() );   
}

但该列表不包含属于托管包和非托管包的对象。

而且我也试图通过workbench.developerforce.com访问托管包对象记录,我收到的错误为

消息:选择COUNT(id)FROM CustomObject _c ^ ERROR at Row:1:Column:23 sObject类型'CustomObject__c'不受支持。如果您尝试使用自定义对象,请务必在实体名称后附加“__c”。请参考您的WSDL或描述调用以获取适当的名称。 errorCode:INVALID_TYPE

我发帖子问developer.salesforce.com还没有得到答复。

编辑:

设置#QuickSearch#Objects此屏幕具有从托管包列出的对象,但相同的对象不在Schema.getGlobalDescribe().values()中。

答案

托管对象应在对象名称之前和之后包含两个下划线:

Namespace__CustomObject__c

您应该能够通过命名空间或在删除__c后仍然包含两个连续下划线的事实来识别它

以上是关于如何列出salesforce组织中所有托管包对象的API名称的主要内容,如果未能解决你的问题,请参考以下文章

salesforce Migration一个组织与另一个组织之间的迁移问题

如何使用 WinDBG 列出所有托管线程的调用堆栈?

用于在 Azure 中列出非托管磁盘的 Foreach 循环

从 IIS 的命令行列出所有托管网站

常规数据库问题 - 索引ID字段性能与限制(顶部)性能(Salesforce)

为 Salesforce 动态决定 SSIS 连接器中的列