【发布时间】: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