0

我正在尝试在授权后获取用户的访问令牌和访问令牌秘密。当我单击授权应用程序时出现此异常。下面是回调控制器中的代码。我在消费者应用程序设置中配置了回调 url。

@RequestMapping(produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
public void connect(@RequestParam("oauth_token") String oauthToken,@RequestParam("oauth_verifier") String oauthVerifier){

    TwitterConnectionFactory connectionFactory = new TwitterConnectionFactory( "XXX", "XXX" );
    OAuth1Operations oauthOperations = connectionFactory.getOAuthOperations();

    OAuthToken requestToken = oauthOperations.fetchRequestToken("htt*://localhost:8080/svc/v1/authorize",null);
    ///String authorizeUrl = oauthOperations.buildAuthorizeUrl(requestToken.getValue(),null);

    OAuthToken accessToken = oauthOperations.exchangeForAccessToken(new AuthorizedRequestToken(requestToken, oauthVerifier), null);

    String consumerKey = "..."; // The application's consumer key
    String consumerSecret = "..."; // The application's consumer secret
    String token = accessToken.getValue();
    String tokenSecret = accessToken.getSecret();
    System.out.println("token: "+token);
    Twitter twitter = new TwitterTemplate( consumerKey, consumerSecret, token, tokenSecret );


}
4

1 回答 1

0

我可以在授权后获取 accesstoken 和 accesstokensecret。问题在于创建 requestToken。替换了 OAuthToken 的对象创建如下。

OAuthToken requestToken = new OAuthToken(oauthToken, oauthVerifier);

它奏效了。

于 2017-05-10T09:53:17.237 回答