uni-app uni.login谷歌登录(安卓端)在uni.getUserInfo的时候回调返回的null

uni-app uni.login谷歌登录(安卓端)在uni.getUserInfo的时候回调返回的null

bug描述:

  • 之前安卓正式环境一直可以拿到谷歌账号的name email等信息,最近2周突然不好使了,一直获取到的name email的值是null,急需解决。
  • 安卓端的包名和证书指纹也配置正确
信息项 内容
产品分类 uniapp/App
PC开发环境 Windows
PC开发环境版本 Windows11
HBuilderX类型 正式
HBuilderX版本 4.51
手机系统 Android
手机系统版本 Android 15
手机厂商 vivo 小米 荣耀
手机机型 荣耀magci5pro
页面类型 vue
vue版本 vue2
打包方式 云端
项目创建方式 HBuilderX


更多关于uni-app uni.login谷歌登录(安卓端)在uni.getUserInfo的时候回调返回的null的实战教程也可以访问 https://www.itying.com/category-93-b0.html

3 回复

急需官网解答,谢谢

更多关于uni-app uni.login谷歌登录(安卓端)在uni.getUserInfo的时候回调返回的null的实战教程也可以访问 https://www.itying.com/category-93-b0.html


目前uni-app中还是使用旧版本的google登录sdk,此sdk已被google官方废弃,建议使用插件市场上提供的google登录插件。

这个问题可能是由于Google登录API的权限变更导致的。根据您描述的情况,以下是可能的原因和解决方案:

  1. 检查Google API配置:
  • 确保在Google Cloud Console中已启用"Google Sign-In" API
  • 检查OAuth同意屏幕配置是否正确,特别是"scope"部分需要包含profile和email权限
  1. 代码修改建议:
// 建议使用以下方式获取用户信息
uni.login({
  provider: 'google',
  success: (loginRes) => {
    uni.getUserInfo({
      provider: 'google',
      success: (infoRes) => {
        console.log('用户信息:', infoRes.userInfo)
      },
      fail: (err) => {
        console.error('获取用户信息失败:', err)
      }
    })
  }
})
  1. 检查manifest.json配置: 确保已正确配置Google登录所需参数:
"oauth": {
  "google": {
    "clientid": "你的客户端ID",
    "scope": "profile email"
  }
}
回到顶部