将OAuth验证器值获取为null
我正在尝试获取需要OAuth验证器的访问令牌。我使用TokenSecretVerifierHolder类来获取令牌、令牌机密和验证器,但我只获取令牌、令牌机密的值,但是验证器值为空。这是我的密码将OAuth验证器值获取为null,oauth,Oauth,我正在尝试获取需要OAuth验证器的访问令牌。我使用TokenSecretVerifierHolder类来获取令牌、令牌机密和验证器,但我只获取令牌、令牌机密的值,但是验证器值为空。这是我的密码 public TokenSecretVerifierHolder getRequestToken() { try { OAuthAccessor accessor = getAccessor(); OAuthClient oAuthClie
public TokenSecretVerifierHolder getRequestToken() {
try {
OAuthAccessor accessor = getAccessor();
OAuthClient oAuthClient = new OAuthClient(new HttpClient4());
List<OAuth.Parameter> callBack;
if ((this.callback == null) || ("".equals(this.callback))) {
callBack = Collections.emptyList();
} else {
callBack = ImmutableList.of(new OAuth.Parameter("oauth_callback", this.callback));
}
OAuthMessage message = oAuthClient.getRequestTokenResponse(accessor, "POST", callBack);
TokenSecretVerifierHolder tokenSecretVerifier = new TokenSecretVerifierHolder();
tokenSecretVerifier.token = accessor.requestToken;
tokenSecretVerifier.secret = accessor.tokenSecret;
tokenSecretVerifier.verifier = message.getParameter("oauth_verifier");
return tokenSecretVerifier;
} catch (Exception e) {
throw new RuntimeException("Failed to obtain request token", e);
}
}
private String getAccessToken() {
AtlassianOAuthClientRequest jiraoAuthClient = getJiraOAuthClient();
TokenSecretVerifierHolder requestToken = jiraoAuthClient.getRequestToken();
String authorizeUrl = jiraoAuthClient.getAuthorizeUrlForToken(requestToken.token);
String token = requestToken.token;
String tokenSecret = requestToken.secret;
String verifier = requestToken.verifier;
String accessToken = jiraoAuthClient.swapRequestTokenForAccessToken(token, tokenSecret, verifier);
String verifier = requestToken.verifier;
System.out.println("Access token is : " + accessToken);
return accessToken;
}
public TokenSecretVerifierHolder getRequestToken(){
试一试{
OAuthAccessor accessor=getAccessor();
OAuthClient OAuthClient=新的OAuthClient(新的HttpClient4());
列表回调;
if((this.callback==null)| |(“”.equals(this.callback))){
callBack=Collections.emptyList();
}否则{
callBack=ImmutableList.of(新的OAuth.Parameter(“OAuth_callBack”,this.callBack));
}
OAuthMessage=oAuthClient.getRequestTokenResponse(访问器,“POST”,回调);
TokenSecretVerifierHolder tokenSecretVerifier=新TokenSecretVerifierHolder();
tokenSecretVerifier.token=accessor.requestToken;
tokenSecretVerifier.secret=accessor.tokenSecret;
tokenSecretVerifier.verifier=message.getParameter(“oauth_verifier”);
返回令牌secretverifier;
}捕获(例外e){
抛出新的RuntimeException(“获取请求令牌失败”,e);
}
}
私有字符串getAccessToken(){
AtlassianOAuthClientRequest jiraoAuthClient=getJiraOAuthClient();
TokenSecretVerifierHolder requestToken=jiraoAuthClient.getRequestToken();
字符串authorizeUrl=jiraoAuthClient.getAuthorizeUrlForToken(requestToken.token);
字符串令牌=requestToken.token;
字符串tokenSecret=requestToken.secret;
字符串验证程序=requestToken.verifier;
String accessToken=jiraoAuthClient.swapRequestTokenForAccessToken(token,tokenSecret,verifier);
字符串验证程序=requestToken.verifier;
System.out.println(“访问令牌为:“+accessToken”);
返回accessToken;
}
在检索令牌、令牌秘密和验证器的值之后,我将传递它以获取访问令牌值。我想要的是,在我确认authorizeUrl之后,它应该返回给我Oauth验证器的值。在我的例子中,它返回为null。在HTTP重定向到回调URL的过程中,验证器所需的值将返回给您-重定向发生在URL中,如
https://consumer.url/?oauth_token=TOKEN&oauth_verifier=VERIFIER
,因此,oauth\u验证器
参数的值就是您所需要的。在HTTP重定向到回调URL的过程中,验证器所需的值会返回给您-重定向发生在类似URL的URL中https://consumer.url/?oauth_token=TOKEN&oauth_verifier=VERIFIER
,所以,oauth\u验证器
参数的值就是您所需要的