如何通过Salesforce SOAP API获取所有ApexJobs列表?
获取ApexJobs列表的Salesforce SOAP API调用指南
目标API端点
使用登录返回的MetaServiceUrl(即你的Salesforce实例URL)拼接API版本路径,格式如下:{MetaServiceUrl}/services/Soap/u/{API版本号}
例如:https://your-instance.my.salesforce.com/services/Soap/u/59.0(API版本号建议选当前兼容的最新稳定版)
请求体结构与示例
请求需要包含SessionHeader(携带登录获取的SessionId),并调用query方法执行SOQL查询ApexJob对象。
完整请求体示例
<?xml version="1.0" encoding="utf-8"?> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:partner.soap.sforce.com"> <soapenv:Header> <urn:SessionHeader> <urn:sessionId>{你的SessionId}</urn:sessionId> </urn:SessionHeader> </soapenv:Header> <soapenv:Body> <urn:query> <urn:queryString>SELECT Id, Status, JobType, CreatedDate, CompletedDate, ApexClassId, ExtendedStatus FROM ApexJob</urn:queryString> </urn:query> </soapenv:Body> </soapenv:Envelope>
关键说明
- SessionHeader:必须携带登录时获取的
SessionId,用于身份验证 - SOQL语句:按需指定要查询的ApexJob字段,若要获取所有字段可使用
SELECT * FROM ApexJob(不建议生产环境使用,最好明确指定字段) - 命名空间:若使用Enterprise API,命名空间需替换为
urn:enterprise.soap.sforce.com,其余结构一致
注意事项
- 若查询结果超过2000条,需调用
queryMore方法分页获取剩余数据 - 确保当前登录用户拥有ApexJob对象的读取权限(通常需要“View Setup and Configuration”权限或对应的对象权限)
- API版本需与你的Salesforce实例版本兼容,避免出现兼容性问题
内容的提问来源于stack exchange,提问作者Aman Chagti
相关产品推荐
相关产品推荐

