木木_D
木木_D
  • 发布:2024-02-27 14:24
  • 更新:2024-12-03 11:26
  • 阅读:527

安卓手机端使用谷歌登录无响应数据

分类:uni-app

1.由于使用uni.login登录谷歌无返回token

  1. 改为使用下面的方法、但是返回值依旧为空
    //初始化
    var mainActivity = plus.android.runtimeMainActivity();
    var GoogleSignInOptions = plus.android.importClass("com.google.android.gms.auth.api.signin.GoogleSignInOptions");
    var gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
    .requestIdToken('web_client_id')
    .requestServerAuthCode('web_client_id')
    .requestEmail()
    .requestProfile()
    .build();
    //创建GoogleClient
    var GoogleSignIn = plus.android.importClass("com.google.android.gms.auth.api.signin.GoogleSignIn");
    var mGoogleClient = GoogleSignIn.getClient(mainActivity,gso)
    var signInIntent =plus.android.invoke(mGoogleClient,'getSignInIntent')
    //跳转登录
    var CODE_REQUEST = 200;
    mainActivity.startActivityForResult(signInIntent, CODE_REQUEST);
    //获取登录回调
    mainActivity.onActivityResult = function(requestCode, resultCode, data) {
    if (requestCode==CODE_REQUEST){
    var GoogleSignIn = plus.android.importClass("com.google.android.gms.auth.api.signin.GoogleSignIn");
    var account = new GoogleSignIn().getLastSignedInAccount(mainActivity)
    console.log(plus.android.invoke(account,'getId'),'===','unionid,openid')
    console.log(plus.android.invoke(account,'getEmail'),'===','email')
    console.log(plus.android.invoke(account,'getDisplayName'),'===','nickname')
    console.log(plus.android.invoke(account,'getIdToken'),'===','idToken')
    console.log(plus.android.invoke(account,'getServerAuthCode'),'===','code,这个是关键code,传递到服务端换access_token令牌')
    console.log((plus.android.invoke(account,'getPhotoUrl')||'').toString(),'===','avatarUrl')
    }
    }
2024-02-27 14:24 负责人:无 分享
已邀请:
1***@qq.com

1***@qq.com

解决了嘛

要回复问题请先登录注册