Java 使用Scribe,OAuth Echo不会';我似乎无法与Twitpic合作
我正在尝试使用Scribe上传照片,但似乎无法获得错误:Java 使用Scribe,OAuth Echo不会';我似乎无法与Twitpic合作,java,oauth,scribe,Java,Oauth,Scribe,我正在尝试使用Scribe上传照片,但似乎无法获得错误: Authentication challenged received is null 我也不知道,因为缺乏关于如何解决这个问题的文档 有关守则如下: try{ OAuthRequest r = new OAuthRequest(Verb.POST, url); ByteArrayOutputStream out = new ByteArrayOutputStream(); toSend.w
Authentication challenged received is null
我也不知道,因为缺乏关于如何解决这个问题的文档
有关守则如下:
try{
OAuthRequest r = new OAuthRequest(Verb.POST, url);
ByteArrayOutputStream out = new ByteArrayOutputStream();
toSend.writeTo(out);
r.addPayload(out.toByteArray());
r.addHeader(toSend.getContentType().getName(), toSend.getContentType().getValue());
OAuth10aServiceImpl oauth = (OAuth10aServiceImpl)oauthImpl;
OAuthRequest sr = new OAuthRequest(Verb.GET, serviceProvider);
sr.addOAuthParameter(OAuthConstants.TOKEN, oauthToken.getToken());
sr.addOAuthParameter(OAuthConstants.REALM,"http://api.twitter.com/");
oauth.addOAuthParams(sr, client._oauthToken);
r.addHeader("X-Auth-Service-Provider",serviceProvider);
String oauthHeader = oauth.api.getHeaderExtractor().extract(sr);
r.addHeader("X-Verify-Credentials-Authorization", oauthHeader);
System.out.println(r.getHeaders().get("X-Verify-Credentials-Authorization"));
return r.send();
}catch(Exception e){
e.printStackTrace();
return null;
}
我认为这是消费者密钥的问题,因为它似乎没有添加到签名中,但我不太确定到底发生了什么:/
任何帮助都将不胜感激。代码如下:
OAuthRequest r = new OAuthRequest(Verb.POST, url);
ByteArrayOutputStream out = new ByteArrayOutputStream();
toSend.writeTo(out);
r.addPayload(out.toByteArray());
r.addHeader(toSend.getContentType().getName(), toSend.getContentType().getValue());
OAuth10aServiceImpl oauth = (OAuth10aServiceImpl)client._oauth;
OAuthRequest sr = new OAuthRequest(Verb.GET, serviceProvider);
oauth.signRequest(client._oauthToken, sr);
r.addHeader("X-Auth-Service-Provider",serviceProvider);
String oauthHeader = sr.getHeaders().get("Authorization");
r.addHeader("X-Verify-Credentials-Authorization", oauthHeader);
对于任何想知道这是如何工作的人来说,
toSend
是一个HttpEntity
包含文件和其他StringBody
部分以及客户端。_oauthToken
是一个令牌
对象r
是我对twitpic的请求,serviceProvider
是TwitterAPI验证凭据url(在某些服务(如yfrog)上更改)哦,是的,我更改了Scribe某些部分的可见性,以便访问我需要的部分