Android签名预发布应用未完成OAuth验证能否测试?Google Fit返回RESULT_CANCELED
问题解答
1. 是否因未完成OAuth验证导致RESULT_CANCELED?
大概率不是。未完成OAuth验证的应用,在授权流程中只会弹出**"未验证应用"**的警告提示,不会直接返回RESULT_CANCELED终止流程。
你遇到的问题更可能是签名版应用的SHA-1指纹未配置到Google Cloud Console的OAuth客户端中:
- Debug版和Staging/Release版使用的签名密钥不同,对应的SHA-1指纹也不一样
- 如果你只在OAuth客户端里配置了Debug版的SHA-1,那么签名后的Staging应用发起OAuth请求时,会因身份不匹配被Google拒绝,最终返回
RESULT_CANCELED
2. 未完成OAuth验证能否测试Android签名版预发布应用?
可以测试,但有以下限制:
- 授权时会显示明显的"未验证应用"警告,测试用户需要手动点击**"高级" -> "继续访问[应用名]"**才能完成授权流程
- 仅允许OAuth同意屏幕中添加的测试用户进行授权(需在Google Cloud Console的"OAuth同意屏幕"页面,将测试邮箱加入测试用户列表),非测试用户无法正常完成授权
排查建议
- 提取Staging应用签名密钥的SHA-1指纹,添加到Google Cloud Console对应OAuth客户端ID的配置中
- 确认Staging应用的包名与OAuth客户端配置里的包名完全一致
- 验证Staging构建是否使用了正确的签名密钥(而非Debug密钥)
内容的提问来源于stack exchange,提问作者dhiku
相关产品推荐
相关产品推荐

