如何抓出某 object 下所有欄位的 Label Name、API Name、Data Type
背景說明
有一個要跟 Salesforce 做 integration 的同事來索取 Opportunity object 的欄位資訊,希望我幫他確認某幾個欄位的 API Name 和資料類型。
他一開始只列了三五個要確認的,我就肉眼手動完成了。
過兩天,他說又有二三十個欄位要確認……
我就跟他說我會整批倒出來給他。
以下就是倒出來的方法。
方法一 直接從 UI 擷取
直接切換到 Salesforce Classic 的畫面,剛好 Label Name、API Name、Data Type 都有顯示出來。
看你是要整頁截圖,
還是要整個複製到 Visual Studio Code 或 Sublime Text 並以多行編輯粹取出來,
或是從 HTML 原始碼粹取出來,
皆可。
方法二 用 Apex Code 印出來
String objType='Opportunity';
Map<String, Schema.SObjectType> schemaMap = Schema.getGlobalDescribe();
Schema.SObjectType oppSchema = schemaMap.get(objType);
Map<String, Schema.SObjectField> fieldMap = oppSchema.getDescribe().fields.getMap();
for (String fieldName: fieldMap.keySet()) {
system.debug(fieldMap.get(fieldName).getDescribe().getLabel() +','+ fieldMap.get(fieldName).getDescribe().getName() +','+ fieldMap.get(fieldName).getDescribe().getType());
}
留言
張貼留言