如何使用google-oauth-java-client

时间:2013-01-18 06:50:45

标签: java google-oauth

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

这是从sina获取代码的GET方法

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

请在没有网页的情况下解决此问题,仅限客户

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

3 个答案:

答案 0 :(得分:4)

抱歉,我犯了一个错误! 获取方法使用浏览器并返回代码 Post方法使用HttpRequest,我们可以从HtppResponse

获取参数

因此,如果您想获取代码,只需使用浏览器并重定向到网址即可获取代码

以下是我如何获取access_token

如果需要,可以使用google-oauth-java-client授权twitter facebook

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

//   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());
  }
}

答案 1 :(得分:2)

答案 2 :(得分:2)

Thisthis会对您有所帮助。首先要了解机制并根据您的场景实施它。