Войдите в Google с помощью Android и App Engine (GAE)

У меня есть проект на Google App Engine и проект на Android. Мне нужно войти в GAE с помощью Android.

В 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 с кнопкой. Я хочу, чтобы, когда я нажимаю кнопку, открываю браузер Android на странице входа в Google, я вхожу в систему, браузер закрывается автоматически, и мое приложение получает токен, сгенерированный GAE (это не токен Google, это токен, сгенерированный меня).

Я не хочу использовать конечные точки.


person jeanwd    schedule 06.09.2013    source источник


Ответы (1)


Если вы действительно хотите открыть его в браузере по умолчанию, вот мой подход:

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

Но я предлагаю просто использовать веб-просмотр, тогда у вас будет больше контроля:

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

person Faisal    schedule 06.09.2013
comment
Спасибо! Я использую веб-просмотр сейчас. Но, к сожалению, javascript на сервлете не работает на моем JavascriptInterface. - person jeanwd; 08.09.2013