RESTful API服务需要随每个请求一起发送oAuth令牌。因此,基于Java Apache的客户端必须首先请求令牌......
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.HttpMethod;
import org.apache.commons.httpclient.methods.GetMethod;
String loginUrl = "https://jerseyrules.com/api/login1?name=joe&cleartext=schmoe";
HttpMethod method = new GetMethod(loginUrl);
String responseCode = httpClient.executeMethod(method);
String token = method.getResponseBodyAsString();
只有现在客户端才能调用该API的实际服务方法,并且必须将oAuth令牌作为每个服务的授权请求标头传递。
假设将以批处理模式多次调用此客户端代码,例如将电子邮件发送到收件人列表。要发送实际的电子邮件,需要调用RESTful API服务。
客户端是否必须再次为每封电子邮件发送oAuth令牌?有没有一种方法客户端可以获取一次oAuth令牌并将其保存在某个地方以用于后续调用?保存oAuth令牌的最佳位置是什么?假设令牌将在3600秒后到期。
可以使用httpClient的cookie来存储令牌..
httpClient.getState().getCookies()
答案 0 :(得分:1)
尝试这件事:
method.getParams().setCookiePolicy(CookiePolicy.RFC_2109);