Finding a Custom Object Id (01I…) to get the Setup page URL

来源:互联网 发布:mac还是nars口红好用 编辑:程序博客网 时间:2024/05/05 19:17
//choose your object name (without suffix!)String objectName = 'Work';String query = 'SELECT Id From CustomObject Where DeveloperName = \'' + objectName + '\'';String endpoint = Url.getSalesforceBaseUrl().toExternalForm();endpoint += '/services/data/v29.0/tooling/query/?q=';endpoint += EncodingUtil.urlEncode(query, 'UTF-8');HttpRequest request = new HttpRequest();request.setMethod('GET');request.setHeader('Authorization', 'Bearer ' + UserInfo.getSessionId());request.setEndpoint(endpoint);HttpResponse response = new Http().send(request);Id customObjectId = response.getBody().substringAfter('"Id":"').substringBefore('"');//eg '01Id0000001BSeoEAG'System.debug(customObjectId);

Which will give you something like:

'01Id0000001BSeoEAG'

parsed from the raw response:

{    "size": 1,    "totalSize": 1,    "done": true,    "records":[{        "attributes": {            "type": "CustomObject",            "url": "/services/data/v29.0/tooling/sobjects/CustomObject/01Id0000001BSeoEAG"        },        "Id": "01Id0000001BSeoEAG"    }],    "queryLocator":null,    "entityTypeName":"CustomEntityDefinition"}
0 0
原创粉丝点击