获取自定义字段的 ID [Salesforce]

Get ID of custom field [Salesforce]

使用 Salesforce 的 SObject Describe 端点时,我看到了大量关于对象字段的元数据。但是每个字段缺少的 属性 是它的 ID。

我希望能够跟踪自定义字段何时更改,包括何时重命名。因此,使用字段的 name 属性是不够的。我需要某种唯一标识符。

自然而然,我在编辑字段时可以在URL栏中看到自定义字段的ID:

https://my-org.lightning.force.com/lightning/setup/ObjectManager/Contact/FieldsAndRelationships/{{FIELD_ID}}/view

有没有办法以任何方式通过 API 以编程方式访问此 ID?

track when a custom field has been changed

可以查询SetupAuditTrail. And when accessing SF via API - there's magic "If Modified Since" header (but read this too: https://salesforce.stackexchange.com/q/186494/799)

Is there a way to access this ID programmatically via the API

FieldDefinition很好,我在这里回答的很少。

SELECT DurableId, EntityDefinition.QualifiedApiName, QualifiedApiName, DataType
FROM FieldDefinition
WHERE EntityDefinition.QualifiedApiName IN ('Account', 'Contact', 'myNamespace__myCustomObject__c')

适用于普通查询(包括顶点)和工具 API。