0

我正在阅读 Google API,它说:

“第一步是根据已知的用户 ID 调用 loadCredential(String) 来检查最终用户的凭据是否已知。如果不是,请调用 newAuthorizationUrl() 并将最终用户的浏览器定向到授权页面。网络然后浏览器将使用“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

4

1 回答 1

0

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());
于 2012-07-11T22:04:16.100 回答