Salesforce允许外部应用程序访问它的Rest API,这样可以和Salesforce的数据进行交互。
这篇文章是介绍如何用Java程序,去访问Salesforce Rest API。我参考了上面的文章,但做的过程中还是遇到了一些问题,在这里记录下来。
1、首先完成Trailhead上的这篇Apex Web Services练习。保证你的Org里有CaseManager类里提供的Rest服务。
2、然后需要建一个Connected App,来接受你得请求并且发送access Token。(Salesforce有很多种认证流程,本文选的是username和password的流程)。建立过程简单记录一下:
保存之后,就会得到你自己的Consumer Key和Consumer Secret,如下图:
3、修正Java代码,把上面的两个值添加在java代码里:
private static final String CLIENTID = "yourConsumerKey";
private static final String CLIENTSECRET = "yourConsumerSecret";
然后在java代码里把username和password(密码后面要加上Security Token)填上自己的。
private static final String USERID = “yourSalesforceloginId”;
private static final String PASSWORD = “yourpasswordandSecurityTokenCombined”;
这样代码基本就准备好了。注意:这个java代码需要两个jar库,JSON和HTTPClient,请下载。
我对参考文章中的代码进行了一些修改,先调用POST插入一条Case,然后再用GET这条Case的信息。代码如下:
import org.apache.http.Header;
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.StringEntity;
import org.apache.http.message.BasicHeader;
import org.apache.http.impl.cli