6

我想使用google-oauth-java-client新浪微博获取授权码。

这是从新浪获取代码的GET方法

https://api.weibo.com/oauth2/authorize?client_id=70090552&response_type=code&redirect_uri=http://127.0.0.1/weibo

请在没有网页的情况下解决这个问题,只有客户端

有人可以给我一些建议吗?

4

3 回答 3

4

Get 方法使用浏览器并返回代码 Post 方法使用HttpRequest,我们可以从中获取参数HtppResponse

所以如果你想获取代码,只需使用浏览器并重定向到 url 来获取代码

这是我得到的方式access_token

如果你愿意,你可以使用 google-oauth-java-client 来授权 twitter facebook

我通过 javadoc 解决了这个问题,它向我展示了一些示例。是JavaDoc的根,是我用来解决的包

这是我写的例子

//   https://server.example.com/token server url example
try {
  TokenResponse response =
      new AuthorizationCodeTokenRequest(new NetHttpTransport(), new JacksonFactory(),
          new GenericUrl("here is the server url "), "here write your code")
          .setRedirectUri("here write the redirectUrl")
          .set("client_id","here write your client_id")
          .set("client_secret","here write your client_secret")
          .set("Other else need","Other else need")
          .execute();
  System.out.println("Access token: " + response.getAccessToken());
} catch (TokenResponseException e) {
  if (e.getDetails() != null) {
    System.err.println("Error: " + e.getDetails().getError());
    if (e.getDetails().getErrorDescription() != null) {
      System.err.println(e.getDetails().getErrorDescription());
    }
    if (e.getDetails().getErrorUri() != null) {
      System.err.println(e.getDetails().getErrorUri());
    }
  } else {
    System.err.println(e.getMessage());
  }
}
于 2013-01-18T13:04:28.860 回答
1

将帮助你。首先了解机制并根据您的场景实现它。

于 2013-01-18T12:03:14.257 回答