oAuth 2.0 для API аудита приложений Google

Я использую следующий метод, чтобы получить учетные данные oAuth для API аудита приложений Google.

    String CONSUMER_KEY = "CONSUMER_KEY";
    String CONSUMER_SECRET = "CONSUMER_SECRET";

    GoogleOAuthParameters oauthParameters = new GoogleOAuthParameters();
    oauthParameters.setOAuthConsumerKey(CONSUMER_KEY);
    oauthParameters.setOAuthConsumerSecret(CONSUMER_SECRET);
    oauthParameters
                .setScope("https://apps-apis.google.com/a/feeds/compliance/audit/ https://www.googleapis.com/auth/userinfo.email");
    oauthParameters
                .setOAuthCallback("url_where_I_handle_callback_from_google");

    GoogleOAuthHelper oauthHelper = new GoogleOAuthHelper(
                new OAuthHmacSha1Signer());
    oauthHelper.getUnauthorizedRequestToken(oauthParameters);
    req.getSession().setAttribute("tokenSecret",
                    oauthParameters.getOAuthTokenSecret());
    String approvalPageUrl = oauthHelper
                    .createUserAuthorizationUrl(oauthParameters);
    resp.sendRedirect(approvalPageUrl);

    //handle on oAuth callback , retrieving the oAuth Token
    String oAuthToken = req.getParameter("oauth_token");
    if (oAuthToken != null) {
        GoogleOAuthHelper oauthHelper = new GoogleOAuthHelper(
                new OAuthHmacSha1Signer());
        GoogleOAuthParameters oauthParameters = new GoogleOAuthParameters();
        oauthParameters.setOAuthConsumerKey(CONSUMER_KEY);
        oauthParameters.setOAuthConsumerSecret(CONSUMER_SECRET);
        oauthParameters.setOAuthTokenSecret((String) req.getSession()
                .getAttribute("tokenSecret"));
        oauthHelper.getOAuthParametersFromCallback(req.getQueryString(),
                oauthParameters);

        String accessToken = oauthHelper.getAccessToken(oauthParameters);
        String accessTokenSecret = oauthParameters.getOAuthTokenSecret();
    }

затем, чтобы получить подписанную службу аудита, я использую это:

    GoogleOAuthParameters oauthParameters = new GoogleOAuthParameters();
    oauthParameters.setOAuthConsumerKey(CONSUMER_KEY);
    oauthParameters.setOAuthConsumerSecret(CONSUMER_SECRET);
    oauthParameters.setOAuthToken(accessToken );
    oauthParameters.setOAuthTokenSecret(accessToken );

    AuditService service = new AuditService(<domain_name>,<app_id>);
    service.setOAuthCredentials(oauthParameters, new OAuthHmacSha1Signer());

Теперь проблема в том, что это oAuth 1, поскольку я использую OAuthHmacSha1Signer(). Я хочу использовать oAuth 2.0, но я не получаю никаких ресурсов, которые рассказывают, как это сделать с помощью java-клиентов. CONSUMER_KEY и CONSUMER_SECRET, я получаю от https://accounts.google.com/ManageDomains, пока я хочу использовать Client_Id и Client_Secret из https://code.google.com/apis/console для oAuth 2.

Пожалуйста, предоставьте пример кода для oAuth 2 с использованием клиентских библиотек Google Java или предоставьте несколько ссылок или учебных пособий.

Спасибо


person vishesh    schedule 04.05.2013    source источник


Ответы (1)