1

私はこれについての情報を見つけるのにあまり運がなかったので、誰かが私を正しい方向に向けてくれることを望んでいます。

リモートサーバーにリクエストを投稿するために、AppEngineでホストされているGWTアプリを構築しています。とてもシンプルです。フォームには、ユーザーの名前と名前を入力する名前フィールドがあります。すべてのユーザーは、当社のビジネスのGoogleアプリドメインに属します。次のようにUserServiceを使用して、ユーザーの電子メールアドレスを正常に取得しています。

public class LoginServiceImpl extends RemoteServiceServlet implements LoginService {
 public LoginInfo login(String requestUri) {
        UserService userService = UserServiceFactory.getUserService();
        User user = userService.getCurrentUser();
        LoginInfo loginInfo = new LoginInfo();

        if (user != null) {
          loginInfo.setLoggedIn(true);
          loginInfo.setEmailAddress(user.getEmail());
          loginInfo.setNickname(user.getNickname());
        } else {
          loginInfo.setLoggedIn(false);
          }
        return loginInfo;
      }
}

ここで、これを検索するために、電子メールアドレスを使用してユーザーの名前と名前を取得する必要があります。

私は次の方法を考えました:
-どういうわけかGoogleコンタクトAPIを使用できますか?個々のユーザーの連絡先は実際には見たくありません。ActiveDirectoryからGoogleAppsDirecory同期を介して取り込むビジネスの連絡先を確認したいと思います。
-Oauthを使用してこれを行うことはできますか?私はこれを行う方法についての良い情報を実際に見つけることができませんでした。
-どういうわけか、Google Apps Engine UserServiceからこれを取得できますか?(私はあなたがこれを行うことはできないと結論付けたと思います-それは正しいですか?)
-(追加するために更新されました)私はプロビジョニングAPIも調べています...これはうまくいくかもしれないと思っていますが、望んでいませんより良い/より簡単な方法を見落とす。

任意のアイデア、考え、または提案は大歓迎です。

4

1 に答える 1

1

OAuth 2.0認証を使用すると、アプリが名前を含むユーザープロファイルにアクセスできるようになります。GAEで動作するOAuthクライアントライブラリを見てください。

scribe-upまた、OAuthを使用してGoogleを含むさまざまなプロバイダーからプロファイルを取得するを使用することもできます。

OTOH、これを1つの(独自の)ドメインに対してのみ行う場合は、特定のGoogleAppsアカウントへのユーザーに依存しないアクセスを提供するGoogleサービスアカウントを使用することをお勧めします。このようにして、プロファイルにアクセスし、ユーザーデータを取得できます。

于 2012-10-16T21:39:59.433 に答える