0

私はGoogle APIを読んでいて、次のように言っています:

「最初のステップは、既知のユーザー ID に基づいて loadCredential(String) を呼び出して、エンドユーザーの資格情報が既に知られているかどうかを確認することです。そうでない場合は、newAuthorizationUrl() を呼び出して、エンドユーザーのブラウザーを認証ページに誘導します。Webその後、ブラウザーは、「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

4

1 に答える 1

0

使用したコードは次のとおりです。これは完全な例ではありませんが、誰かにアイデアを与えるはずです。

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 に答える