0

Google App Engine のプロジェクトと Android プロジェクトがあります。Androidを使用してGAEにログインする必要があります。

GAE には、次のコードがあります: (ユーザーを Google ログイン ページにリダイレクトします。これがまさに私が望んでいることです!)

    UserService userService = UserServiceFactory.getUserService();        
    String URL = request.getRequestURI();

    if (request.getUserPrincipal() != null) {
        // I need to send the MY_GENERATED_TOKEN to my android app
        response.getWriter().println(MY_GENERATED_TOKEN);
    } else {
        response.sendRedirect(userService.createLoginURL(URL));
    }

このコードはデフォルトであり、Google によって提案されています。私の問題は、Android アプリでこれにアクセスする方法がわからないことです。

ボタン付きの Android アクティビティがあります。ボタンをクリックすると、Google のログイン ページで Android ブラウザーが開き、ログインすると、ブラウザーが自動的に閉じ、アプリが GAE によって生成されたトークンを受け取ります (これは Google トークンではなく、によって生成されたトークンです)。自分)。

エンドポイントを使用したくありません。

4

1 に答える 1

0

デフォルトのブラウザで本当に開きたい場合は、私のアプローチは次のとおりです。

1. Open Login Page url
2. Login then redirect to an android handled intent-filter from your app
    # example: http://your-caught-login-intent-filter.example.com or
    # your-app-login://scheme
3. Pass along the token and you're set

ただし、webview を使用することをお勧めします。そうすれば、より詳細に制御できます。

1. Create a webview, then load the login url
2. Make sure to set the webviewClient onFinishPage
3. Lookup the resulting html for your token

http://developer.android.com/reference/android/webkit/WebView.html

于 2013-09-06T14:41:36.577 に答える