【问题标题】:Google Oauth2 - Call to TokenGoogle Oauth2 - 调用令牌
【发布时间】:2012-07-01 23:47:47
【问题描述】:

我正在阅读 Google API,它说:

"第一步是根据已知的用户ID调用loadCredential(String)来检查最终用户的凭据是否已知。如果不是,调用newAuthorizationUrl()并将最终用户的浏览器引导到授权页面. 然后,Web 浏览器将使用“code”查询参数重定向到重定向 URL,然后可以使用该参数使用 newTokenRequest(String) 请求访问令牌。最后,使用 createAndStoreCredential(TokenResponse, String) 存储并获取凭据访问受保护的资源。”

所以我将这行代码放在我的代码中,即使使用正确的导入语句它也会失败。 “类型不匹配:无法从 Credential 转换为 AuthorizationCodeRequestUrl”

AuthorizationCodeRequestUrl bob2 = AuthorizationCodeFlow.loadCredential("test"); or
GoogleAuthorizationCodeFlow bob2 = AuthorizationCodeFlow.loadCredential("test");

http://javadoc.google-oauth-java-client.googlecode.com/hg/1.7.0-beta/com/google/api/client/auth/oauth2/AuthorizationCodeFlow.html?is-external=true#loadCredential%28java.lang.String%29

另外,如果有人对 Google 的 Oauth2 实施有任何好的示例,请发布。我能找到的唯一一个我能理解的(见下面的链接)似乎已经贬值了,我想使用最新版本。 https://developers.google.com/google-apps/tasks/oauth-authorization-callback-handler

【问题讨论】:

  • 您到 developers.google.com 的链接未被弃用。

标签: java google-app-engine jsp oauth-2.0


【解决方案1】:

s这是我使用的代码。这不是一个完整的例子,但它应该给别人一些想法。

UserService userService = UserServiceFactory.getUserService();
    User user = userService.getCurrentUser();
   // response.getWriter().println(" User " + user);
    if (user == null) {
        response.sendRedirect(userService.createLoginURL(getFullRequestUrl(request)));


        return;
      }

然后无论如何我都会得到授权码。 (错误的编码。)

response.sendRedirect(new GoogleAuthorizationRequestUrl(oauthProperties2.getClientId(), OAuthCodeCallbackHandlerServlet.getOAuthCodeCallbackHandlerUrl(request), oauthProperties2.getScopesAsString()).build());

【讨论】:

    猜你喜欢
    • 2016-10-13
    • 2016-08-03
    • 2016-03-05
    • 2015-04-09
    • 1970-01-01
    • 2021-08-27
    • 2021-12-27
    • 2013-12-27
    • 2022-06-19
    相关资源
    最近更新 更多