我正在尝试将google plus登录集成到我的应用中.但是当我调用getServerAuthCode()和getIdToken()时,它总是返回null.我无法弄清楚究竟是什么问题.
private void handleSignInResult (GoogleSignInResult result)
{
Log.d(TAG, "handleSignInResult:" + result.isSuccess());
if (result.isSuccess()) {
GoogleSignInAccount acct = result.getSignInAccount();
Toast.makeText(getApplicationContext(), acct.getDisplayName() + "-" + acct.getEmail() + "-" + acct.getServerAuthCode(), Toast.LENGTH_SHORT).show();
Log.d(TAG, "Server Token google" + acct.getServerAuthCode() + "-ID token" + acct.getIdToken());
create_account_method(acct.getEmail(), acct.getDisplayName(), acct.getServerAuthCode());
} else {
}
}
Run Code Online (Sandbox Code Playgroud)
可能你已经解决但未来参考.我遇到了同样的问题,解决方案实际上非常简单.
在阅读此链接中的getIdToken文档后,我发现在构建GoogleSignInOptions对象时它缺少requestIdToken(serverClientId)和.requestServerAuthCode(serverClientId,false)调用.
这是代码:
String serverClientId = getResources().getString(R.string.google_server_client_id);
GoogleSignInOptions gso = new GoogleSignInOptions
.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
.requestEmail()
.requestIdToken(serverClientId)
.requestServerAuthCode(serverClientId, false)
.build();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2584 次 |
| 最近记录: |