You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

华为Account Kit静默登录成功后能否调用authAccount.getAccessToken()获取AccessToken

华为Account Kit静默登录获取AccessToken说明

结论

静默登录成功后返回的AuthAccount对象可以直接调用getAccessToken()方法获取AccessToken,只需满足两个前置配置条件:

  • 构造AuthParams实例时,已调用setAccessToken(true)配置需要返回AccessToken,同时已声明业务所需的对应权限scope
  • 此前用户已经通过主动授权的方式完成过当前应用的华为账号登录,静默登录仅在已有授权记录时生效

代码修改示例

你可以直接在现有静默登录成功的回调中补充获取AccessToken的逻辑:

private void silentSignIn() {
        Task<AuthAccount> task = mAuthManager.silentSignIn();
        task.addOnSuccessListener(new OnSuccessListener<AuthAccount>() {
            @Override
            public void onSuccess(AuthAccount authAccount) {
                Log.i(TAG, "silentSignIn success");
                Log.i(TAG, "touxiang: "+authAccount.getAvatarUriString());
                // 新增获取AccessToken逻辑
                String accessToken = authAccount.getAccessToken();
                Log.i(TAG, "accessToken: "+accessToken);
            }
        });
        task.addOnFailureListener(new OnFailureListener() {
            @Override
            public void onFailure(Exception e) {
                //if Failed use getSignInIntent
                if (e instanceof ApiException) {
                    ApiException apiException = (ApiException) e;
                    signIn();
                }
            }
        });
    }

注意事项

  • AccessToken存在有效期,无需本地长期存储,需要使用时可直接调用静默登录接口刷新获取
  • 若调用getAccessToken()返回空值,优先检查AuthParams初始化配置是否正确,其次确认当前华为账号是否已完成应用授权、授权是否过期

内容的提问来源于stack exchange,提问作者abc12345

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 01:06:03