我使用下面的方法來獲取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教程。
感謝