2013-05-04 197 views
0

我使用下面的方法來獲取OAuth認證的谷歌Apps審覈API的OAuth 2.0谷歌Apps審覈API

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

請使用谷歌的Java客戶端庫是OAuth 2提供一些代碼示例或提供一些連結O教程。

感謝

回答