我们使用 EMAIL 设置 API 和 ClientLogin 进行身份验证。EMAIL 设置 API 仍在 GDATA 库中。使用 GDATA 库我们可以开始使用 OAuth 2.0 吗?(我们正在使用 appsforyourdomain 客户端库来使用 EMAIL 设置 API)或者我们可以继续使用 ClientLogin 吗?根据帖子,ClientLogin 将在 2015 年 4 月 20 日退休。请指导我正确的方法。 GDATA API:1.46.0。EMAIL 设置 API 仅用于为用户禁用网络剪辑。
1 回答
0
我们使用的是 GDATA API 1.46.0,它不支持 OAuth 2.0。在 1.47.0 版本中添加了支持。请参阅下面的发行说明。使用新的库后,我能够实现 OAuth 2.0。在appsforyourdomain 客户端库中使用GmailSettingsService 类并注释掉ClientLogin 流程并为OAuth2.0 添加新流程。使用 GoogleCredential Object 创建 OAuth2.0 凭据对象。
// Client Login
// this.setUserCredentials(username + "@" + domain, password);
// OAuth 2.0
this.setOAuth2Credentials(initCredential());
public static GoogleCredential initCredential() throws GeneralSecurityException, IOException {
httpTransport = GoogleNetHttpTransport.newTrustedTransport();
List<String> scopes = Arrays.asList("https://apps-apis.google.com/a/feeds/emailsettings/2.0/");
credential = new GoogleCredential.Builder()
.setTransport(httpTransport)
.setJsonFactory(JSON_FACTORY)
.setServiceAccountId(SERVICE_ACCOUNT_EMAIL)
.setServiceAccountScopes(scopes)
.setServiceAccountPrivateKeyFromP12File(new File(SERVICE_ACCOUNT_PKCS12_FILE_PATH))
.setServiceAccountUser(DOMAIN_ADMIN_API_USER)
.build();
return credential;
}
v1.47.0 的注意事项
o 添加利用适用于 Java 的 Google OAuth 客户端 ( http://code.google.com/p/google-oauth-java-client/ ) 的 OAuth 2.0 支持。
于 2015-02-26T19:10:04.407 回答