gpt4 book ai didi

Android getAuthToken 返回空

转载 作者:行者123 更新时间:2023-11-29 02:12:46 26 4
gpt4 key购买 nike

我正在使用 getAuthToken() 获取 token ,然后登录 Google App Engine 应用程序。

它曾经有效,直到今天,我不知道为什么 getAuthToken() 返回 null

我检查了我传递给它的帐户,没问题。所以我无法想象发生了什么。

private class GetAuthTokenTask extends AsyncTask<Account, Object, String> {
String TAG="GetAuthTokenTask";
@Override
protected String doInBackground(Account... accounts) {
AccountManager manager = AccountManager.get(getApplicationContext());
Account account = accounts[0];
String token = this.buildToken(manager, account);
manager.invalidateAuthToken(account.type, token);
return this.buildToken(manager, account);
}

private String buildToken(AccountManager manager, Account account) {
try {

AccountManagerFuture<Bundle> future = manager.getAuthToken (account, "ah", false, null, null);
Bundle bundle = future.getResult();
System.out.println("Token: "+bundle.getString(AccountManager.KEY_AUTHTOKEN) +"\n");
return bundle.getString(AccountManager.KEY_AUTHTOKEN);
} catch (OperationCanceledException e) {
Log.w(TAG, e.getMessage());
} catch (AuthenticatorException e) {
Log.w(TAG, e.getMessage());
} catch (IOException e) {
Log.w(TAG, e.getMessage());
}
return null;
}

protected void onPostExecute(String authToken) {
//Log.i("onPostExecute","GetCookieTask");
new GetCookieTask().execute(authToken);
}
}

编辑

我自己找到了解决方案:

在 getAuthToken() 方法中,我将第三个参数更改为 true,因此它会在状态栏中显示一个警告,要求获得许可。我不知道为什么Android之前没有询问,就像我安装应用程序之后一样。

最佳答案

getAuthToken(Account, String, boolean, AccountManagerCallback<Bundle>, Handler)方法已弃用

使用 getAuthToken(Account, String, Bundle, Activity, AccountManagerCallback<Bundle>, Handler)getAuthToken(Account, String, Bundle, boolean, AccountManagerCallback<Bundle>, Handler)相反。

第一个适合我。

Android Documentation

关于Android getAuthToken 返回空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6283096/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com