要件
オブジェクト項目定義画面に「使用場所」ボタンで、該当項目の使用場所が見れますが、逆にApexになんの項目が使用しているかを調べるとき、ソースを見る以外、ToolingApiで調査できる
Salesforceの環境で、バッチやフロー、トリガーが同じように機械的に抽出できる
案
・WorkbenchでToolingApiで、MetadataComponentDependencyに関連項目で抽出する
・実際の抽出はVBAのマクロでやるので、別記事にする
実現メモ
①WorkBenchまたPostmanで、MetadataComponentDependencyからApex、Flow名と参照している項目Idを取得する
/services/data/v56.0/tooling/query/?q=select+MetadataComponentId,MetadataComponentName,MetadataComponentType,RefMetadataComponentId,RefMetadataComponentName,RefMetadataComponentType+from+MetadataComponentDependency+where+MetadataComponentType+in ('ApexClass') and RefMetadataComponentType in ('CustomField') order by MetadataComponentName
②項目Idより、項目名とObjectIdを抽出する
上記①の図の一番目の項目IDより
/services/data/v56.0/tooling/query/?q=select+id,NamespacePrefix,developername,TableEnumOrId+from+CustomField+where+id+in+('00N10000009BweUEAS')
⓷TableEnumOrIdより、オブジェクト名を抽出する
/services/data/v56.0/tooling/query/?q=select+id,NamespacePrefix,developername+from+CustomObject+where+id+in+('01I10000001IdQ4EAK')