【发布时间】:2014-10-29 00:42:21
【问题描述】:
我在 Android 中使用 Signpost 进行 OAuth。
我得到 Http 状态码 500
也得到了
{"messages":{"error":[{"code":401,"message":"oauth_problem=parameter_absent&oauth_parameters_absent=oauth_signature_method"}]}}
代码如下:
client = new DefaultHttpClient();
ArrayList<NameValuePair> requestParaRegister = new ArrayList<NameValuePair>();`enter code here`
requestParaRegister.add(new BasicNameValuePair("firstname",_firstName));
requestParaRegister.add(new BasicNameValuePair("lastname",_lastName));
requestParaRegister.add(new BasicNameValuePair("username",_username));
requestParaRegister.add(new BasicNameValuePair("email", _emailID));
requestParaRegister.add(new BasicNameValuePair("password",_password));
HttpPost postRequest = new HttpPost("http://*************************/customers");
//添加setsign方法。
consumer.setMessageSigner(new OAuthMessageSigner() {
@Override
public String sign(HttpRequest arg0, HttpParameters arg1)
throws OAuthMessageSignerException {
// TODO Auto-generated method stub
return OAuth.percentEncode(CONSUMER_SECRET) + "&"
+ OAuth.percentEncode(_tokenSecret);
// consumer.setMessageSigner(OAuth.percentEncode(CONSUMER_SECRET));;
}
@Override
public String getSignatureMethod() {
// TODO Auto-generated method stub
return null;
}
getOauthConsumer().sign(postRequest);
public OAuthConsumer getOauthConsumer() {
OAuthConsumer consumer = new CommonsHttpOAuthConsumer(CONSUMER_KEY, CONSUMER_SECRET);
consumer.setTokenWithSecret(_token, _tokenSecret);
return consumer; }
【问题讨论】:
-
oauth_signature_method丢失 -
如何使用该方法“oauth_signature_method”
-
请阅读手册。回复中已经提到了。
-
能不能提供一下说明书的链接,你在说。
标签: android api oauth access-token