在Salesforce实例和SnapLogic桶之间的S3集成中,我使用Salesforce snap。
我试图使用Salesforce SOQL管理字段"SOQL query*“中的SOQL查询返回对象的列名。例如,我希望运行一个SOQL查询来返回"Account“对象的列名。
我这样做是因为SOQL不允许“选择*”。我在Apex中看到了这方面的代码解决方案,但我正在寻找一种仅使用SOQL查询的方法。

发布于 2020-02-04 23:36:46
你想查询元数据吗?可用表的名称,您可以在每个表中看到的列的名称,可能是类型而不是真实的帐户/联系人/.数据,对吗?
您可能需要稍微提高API的版本,当前为47 / 48,因此在当前的对象中可能看不到某些对象。还有-你有哪些API选项?肥皂休息?"Tooling“是一个选项吗?因为它有非常好的官方FieldDefinition表来拉这个。
这并不完美,但这可能会让你开始:
SELECT EntityDefinition.QualifiedApiName, QualifiedApiName, DataType
FROM FieldDefinition
WHERE EntityDefinition.QualifiedApiName IN ('Account', 'Contact', 'myNamespace__myCustomObject__c')

我没有看到REST引用中的表,但是它似乎在Workbench中查询OK,所以有希望。
一般试着搜索关于EntityDefinition,FieldDefinition,EntityParticle.例如,这是一个不错的机会来了解哪些表对您是可见的:
SELECT KeyPrefix, QualifiedApiName, Label, IsQueryable, IsDeprecatedAndHidden, IsCustomSetting
FROM EntityDefinition
WHERE IsCustomizable = true AND IsCustomSetting = false或者,在紧要关头,您可以尝试查看您的用户有查询权限的字段。这样做有点迂回,但我不知道连接器可以“看到”哪些表。
发布于 2022-08-04 07:44:19
从API 51.0开始,有一个field()函数可用:它允许您查询给定对象的所有字段,类似于"SELECT *“
示例:
SELECT FIELDS(ALL) FROM User LIMIT 200https://stackoverflow.com/questions/60066774
复制相似问题