"回复{code = 401,message =' Unauthorized',body =' null',headers = {Keep-Alive = timeout = 60,Transfer-Encoding = chunked,null = HTTP / 1.1 401 Unauthorized,Server = CodeBig,WWW-Authenticate = OAuth realm =" classified.net",Connection = keep-alive,CodeBig-Error-Message =缺少认证凭证,Date = Sun,2016年10月16日08:16:16 GMT,Via = 1.1 CodeBig,Content-Type = text / plain}}" ###
以下是使用 scribejava
的代码段String apiKey = "fsfsfsf";
String apiSecret = "fsfsfsfsf";
String PROTECTED_RESOURCE_URL = "https://somerealm.net/";
OAuth10aService service = new ServiceBuilder().apiKey(apiKey).apiSecret(apiSecret).signatureType(SignatureType.QueryString).build(new MyAOuthv1());
OAuthRequest request = new OAuthRequest(Verb.POST, PROTECTED_RESOURCE_URL, service);
request.addOAuthParameter(OAuthConstants.TIMESTAMP, service.getApi().getTimestampService().getTimestampInSeconds());
request.addOAuthParameter(OAuthConstants.NONCE, service.getApi().getTimestampService().getNonce());
request.addOAuthParameter(OAuthConstants.CONSUMER_KEY, "blahblahblah");
request.addOAuthParameter(OAuthConstants.CONSUMER_SECRET, "blahblahblah");
request.addOAuthParameter(OAuthConstants.SIGN_METHOD, service.getApi().getSignatureService().getSignatureMethod());
request.addOAuthParameter(OAuthConstants.VERSION, "1.0");
request.addOAuthParameter(OAuthConstants.SIGNATURE, getSignature(service, request));
request.addPayload("{\"id\":12345,\"message\":\"some text\"}");
request.addHeader("Content-Type", "application/json");
Response response = request.send();
但是如果我使用firefox的REST客户端,我就可以了。 怎么了? OAuth vesrion是1.0
答案 0 :(得分:0)
为什么不使用OAuth10aService :: signRequest方法?