0

我有一个关于 Google App Engine 的项目和一个 Android 项目。我需要使用 Android 登录 GAE。

在 GAE 上,我有这个代码:(将用户重定向到谷歌登录页面,这正是我想要的!)

    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 活动。我希望当我点击按钮时,在谷歌的登录页面上打开安卓浏览器,我登录,浏览器自动关闭,我的应用程序接收到 GAE 生成的令牌(它不是谷歌令牌,它是由生成的令牌我)。

我不想使用端点。

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 回答