继前一博文[Salesforce dataLoader一览](/post/Salesforce dataLoader一览),这次就开始体验一把Salesforce API了。
准备工作
- 通过developer.salesforce.com/signup获得Salesforce开发版
- 确保激活了API权限
- 创建connected app:scnydqTest1
- 获取scnydqTest1的sonsumer key和secret
OAuth鉴权
Salesforce的OAuth鉴权支持三种流程:
- web服务器流程:适用于服务器可以保存consumer secret
- 用户代理流程:适用于应用无法安全保存consumer secret
- 用户密码流程:应用使用用户凭证直接访问
OAuth鉴权之web服务器流程
验证按照Understanding the User-Agent OAuth Authentication Flow进行。
https://login.salesforce.com/services/oauth2/authorize?response_type=code&client_id={scnydqTest1_appConsumerKey}&redirect_uri=https%3A%2F%2Flogin.salesforce.com%2Fservices%2Foauth2%2Fsuccess
鉴权:
通过跳转URL获取code:
通过code、consumer key和consumer secret获取access token:
OAuth鉴权之用户代理流程
验证按照How Are Apps Authenticated with the Web Server OAuth Authentication Flow?进行。
https://login.salesforce.com/services/oauth2/authorize?response_type=token&client_id={scnydqTest1_appConsumerKey}&redirect_uri=https%3A%2F%2Flogin.salesforce.com%2Fservices%2Foauth2%2Fsuccess
认证:
鉴权:
通过跳转URL获取access_token:
返回URL为:
https://login.salesforce.com/services/oauth2/success#access_token=00D2v000000R9tt%21AXXXXXi.&instance_url=https%3A%2F%2Fap15.salesforce.com&id=https%3A%2F%2Flogin.salesforce.com%2Fid%2F00D2XXXXXC%2F005XXXXXL&issued_at=1XXXXX8&signature=iXXXXXI%3D&scope=id+api&token_type=Bearer
OAuth鉴权之用户密码流程
验证按照Understanding the Username-Password OAuth Authentication Flow进行。
REST调用
此处走一下Salesforce官方的快速入门示例。
获取Salesforce版本
关于版本的介绍详见Apex Code Versions。
使用Salesforce版本获取可用资源
使用一个资源获取可用对象列表
获取一个对象的元数据描述
获取一个对象的列信息
执行SOQL查询获取Account记录的某些指定列的值
限额
REST API与SOAP API使用相同的数据模型和标准对象。REST API遵循SOAP API的限额。
获取Limits信息详见Salesforce示例。
参考
Salesforce SOAP API Developer Guide
Salesforce REST API Developer Guide
SOQL and SOSL Reference
Salesforce Bulk API Developer Guide
Enhance Salesforce with Code