gpt4 book ai didi

Android Google SignIn 结果为空

转载 作者:行者123 更新时间:2023-11-29 14:35:20 26 4
gpt4 key购买 nike

我正在为 Android 集成 Google 登录,我想要回 id_token 以便我可以通过我的服务器进行身份验证。我按照 https://developers.google.com/identity/sign-in/android/backend-auth 中的所有步骤进行操作

如果我只请求 requestEmail() 那么我会取回个人资料信息,但是如果我添加 .requestIdToken(getString(R.string.server_client_id)) 然后 result.isSuccess() 为 false,我没有收到任何帐户信息。有什么想法吗?

        GoogleSignInOptions gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
.requestEmail()
.requestIdToken(getString(R.string.server_client_id))
.build();

onActivityResult:

            GoogleSignInResult result = Auth.GoogleSignInApi.getSignInResultFromIntent(data);
if (result.isSuccess()) {
GoogleSignInAccount acct = result.getSignInAccount();
String idToken = acct.getIdToken();
mIdTokenTextView.setText("ID Token: " + idToken);
// TODO(user): send token to server and validate server-side
} else {
mIdTokenTextView.setText("ID Token: null");
}

如果我尝试在“结果”上调用任何方法,那么我会得到一个空指针错误...

java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=9001, result=0, data=Intent { (has extras) }} to activity {com.test.LoginActivity}: java.lang.NullPointerException

最佳答案

已解决!

所以经过 6 个小时的折腾,我终于找到了问题所在。显然,当您使用 SSH1 创建 config.json 时,谷歌会自动创建一个与该项目关联的 Web OAuth2 key 。我注意到 Google 创建了 3 个同名项目(一个用于 firebase,一个用于 Web,另一个不确定)

因此获取与同一个 Android 项目链接的 Web 客户端 ID。哦谷歌!

关于Android Google SignIn 结果为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45208827/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com