2013-09-06 4 views
0

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

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

ответ

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

+0

Спасибо! Теперь я использую webview. Но, к сожалению, javascript на сервлет не запускается на моем JavascriptInterface. – jeanwd

 Смежные вопросы

  • Нет связанных вопросов^_^