首页 文章

Google Oauth2 - 致电令牌

提问于
浏览
0

我正在阅读Google API,它说:

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

所以我将代码行放在我的代码中,即使使用正确的import语句也会失败 . “类型不匹配:无法从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

1 回答

  • 0

    sHere是我使用的代码 . 这不是一个完整的例子,但它应该给某人一个想法 .

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

相关问题