Влезте в 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
Благодаря! Сега използвам webview. Но, за съжаление, javascript на сървлета не работи на моя JavascriptInterface. - person jeanwd; 08.09.2013