Oauth认证流程,主要是三个步骤
1,获取Request Token
2,对Request Token授权
3,获取Access Token
用代码实现
3个包,google所提供的基本的类库
- com.google.gdata.util.common.base
- oauth.signpost
这里包里面,主要修改的地方是 oauth.signpost.commonshttp.CommonsHttpOAuthProvider类里面,sendRequest方法里面
腾讯微博 不支持通过Header发送认证,他要求所有的请求通过get或post发送,所以把Header里的数据都取出来,放在entity里面post发送,
protected HttpResponse sendRequest(HttpRequest request) throws Exception {
Map headers = request.getAllHeaders();
String oauthHeader = (String) headers.get("Authorization");
headers.remove("Authorization");
HttpParameters httpParams = OAuth.oauthHeaderToParamsMap(oauthHeader);
List formParams = new ArrayList();
Set keys = httpParams.keySet();
String key;
String value;
for (Iterator iterator = keys.iterator(