0

認証には EMAIL Settings API と ClientLogin を使用しています。EMAIL 設定 API はまだ GDATA ライブラリにあります。GDATA ライブラリを使用して OAuth 2.0 を使い始めることはできますか? (appsforyourdomain クライアント ライブラリを使用して EMAIL 設定 API を使用しています) または、 ClientLogin を引き続き使用できますか? 投稿によると、ClientLogin は 2015 年 4 月 20 日までに廃止されるようです。正しいアプローチを教えてください。 GDATA API : 1.46.0. EMAIL 設定 API は、ユーザーの Web クリップを無効にするためだけに使用されます。

4

1 に答える 1

0

GDATA API 1.46.0 を使用していましたが、OAuth 2.0 をサポートしていません。1.47.0 バージョンでサポートが追加されました。以下のリリースノートを参照してください。新しいライブラリを使用した後、OAuth 2.0 を実装することができました。appsforyourdomain クライアント ライブラリ内で GmailSettingsService クラスを使用し、ClientLogin フローをコメント アウトして、OAuth2.0 の新しいフローを追加しました。GoogleCredential オブジェクトを使用して、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 Google OAuth Client for Java ( http://code.google.com/p/google-oauth-java-client/ ) を利用する OAuth 2.0 サポートを追加します。

于 2015-02-26T19:10:04.407 に答える