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的权限变更导致的。根据您描述的情况,以下是可能的原因和解决方案:
- 检查Google API配置:
- 确保在Google Cloud Console中已启用"Google Sign-In" API
- 检查OAuth同意屏幕配置是否正确,特别是"scope"部分需要包含profile和email权限
- 代码修改建议:
// 建议使用以下方式获取用户信息
uni.login({
provider: 'google',
success: (loginRes) => {
uni.getUserInfo({
provider: 'google',
success: (infoRes) => {
console.log('用户信息:', infoRes.userInfo)
},
fail: (err) => {
console.error('获取用户信息失败:', err)
}
})
}
})
- 检查manifest.json配置: 确保已正确配置Google登录所需参数:
"oauth": {
"google": {
"clientid": "你的客户端ID",
"scope": "profile email"
}
}