【问题标题】:AccountManager returns invalid auth_token when run on android 2.3AccountManager 在 android 2.3 上运行时返回无效的 auth_token
【发布时间】:2013-12-22 03:23:36
【问题描述】:

以下代码 sn-p 在 android 2.3 上运行时会产生 invalid auth_token(通过 https://accounts.google.com/o/oauth2/tokeninfo?access_token= 验证)。

AccountManager 返回有效帐户的唯一方法是手动完成帐户设置并删除而不是添加现有的 Google 帐户。重新运行时,令牌将一直有效,直到未过期,然后再次出现相同的问题。请注意,Android 4.0 及更高版本的设备不会出现此问题。

你能帮忙解决一下吗?

private static final String         SCOPE = "oauth2:https://www.googleapis.com/auth/userinfo.email";

accountManager.getAuthToken(googleAccountsMap.get(accountName), SCOPE, null, getActivity(),
                    new OnAuthTokenAcquired(), null);   


private class OnAuthTokenAcquired implements AccountManagerCallback<Bundle> {

    @Override
    public void run(AccountManagerFuture<Bundle> result) {
        try {
            Bundle bundle = result.getResult(); 
            String accountName = bundle.getString(AccountManager.KEY_ACCOUNT_NAME);
            String authToken = bundle.getString(AccountManager.KEY_AUTHTOKEN);

【问题讨论】:

  • 尝试重新启动您的设备,然后将 Google 帐户添加到其中。
  • 是的,这很可能会解决问题,但只是暂时的。此外,除非别无选择,否则最终用户不会选择重启。

标签: android authentication token accountmanager


【解决方案1】:

问题已解决。对于那些遇到类似症状的人,下面的链接描述了解决方案

AccountManager: invalidateAuthToken does not invalidate the token

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多