0

我们使用 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 仅用于为用户禁用网络剪辑。

4

1 回答 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 回答