我已经对这个问题进行了研究......关于这个主题的所有其他帖子,我仍然被卡住了。
我的应用版本已注册为调试版....所以无需创建已签名的APK ?
我已确保使用网络应用中的客户端ID ,而不是来自Android版本的项目。
在Google控制台上设置我的应用时,我使用了 SHA-1 。
GoogleSignInOptions gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
.requestServerAuthCode("/*client_id goes in here*/")
.requestEmail()
.build();
mGoogleApiClient = new GoogleApiClient.Builder(this)
.enableAutoManage(this /* FragmentActivity */, this
/* OnConnectionFailedListener */)
.addApi(Auth.GOOGLE_SIGN_IN_API, gso)
.addApi(AppIndex.API).build();
这段代码进入了我的 onCreate 方法。
以下内容是我的 onActivityResult处理程序。
GOOGLE_SIGN_IN 常量已预定义。
if (requestCode == GOOGLE_SIGN_IN) {
GoogleSignInResult result = Auth.GoogleSignInApi.getSignInResultFromIntent(data);
Toast.makeText(LoginActivity.this, "Google Login Details:" + result.getStatus().toString(), Toast.LENGTH_LONG).show();
handleSignInResult(result);
}
最后一部分是我的谷歌登录结果处理程序。
private void handleSignInResult(GoogleSignInResult result) {
if (result.isSuccess()) {
GoogleSignInAccount acct = result.getSignInAccount();
Toast.makeText(getApplicationContext(),"Welcome "+acct.getDisplayName(),Toast.LENGTH_SHORT).show();
Intent MainActivity = new Intent(getApplicationContext(), MainActivity.class);
startActivity(MainActivity);
} else {
Toast.makeText(LoginActivity.this, "Login Cancel", Toast.LENGTH_LONG).show();
}
}
用于使Google登录API工作的所有其余代码与文档中的代码相同。
活动处理程序中的 result.getStatus()方法不显示通常的12050错误,这表示配置问题。相反,它表示statusCode = DEVELOPER,resolution = null
非常感谢任何帮助。
答案 0 :(得分:0)
我解决了..
我创建的应用程序使用旧笔记本电脑中的旧SSH-1 ......
我需要将SSH-1更改为笔记本电脑上的SSH-1。