我有Android,谷歌授权问题(类似于.GoogleAuthException: Unknown while doing Google SSO. - 没有答案):
09-29 00:04:38.328: W/System.err(15623): com.google.android.gms.auth.GoogleAuthException: Unknown
09-29 00:04:38.328: W/System.err(15623): at com.google.android.gms.auth.GoogleAuthUtil.getToken(Unknown Source)
执行以下代码时可重现:
String scopesString = Scopes.PLUS_LOGIN + " " + Scopes.PLUS_PROFILE;
String scopes = "oauth2:server:client_id:" + Consts.GOOGLE_PLUS_SERVER_CLIENT_ID + ":api_scope:" + scopesString;
OR
String scopes = "audience:server:client_id:" + Consts.GOOGLE_PLUS_SERVER_CLIENT_ID;
Bundle appActivities = new Bundle();
appActivities.putString(GoogleAuthUtil.KEY_REQUEST_VISIBLE_ACTIVITIES, "http://schemas.google.com/AddActivity http://schemas.google.com/BuyActivity");
GoogleAuthUtil.getToken(activity, accountName, scopes, appActivities);
以下是一些注释:
android.permission.GET_ACCOUNTS
解决
即。像这样:
} catch (UserRecoverableAuthException e) {
activity.startActivityForResult(e.getIntent(), REQUEST_AUTHORIZATION);
}
答案 0 :(得分:7)
在Google Developer Console中,在API&验证部分单击凭据。
您可能已经拥有Android应用程序的"客户端ID"并正在使用该客户端ID。您需要做的是创建一个新的客户ID并选择"服务帐户"为你的后端。
您必须使用此客户端ID,而不是Android客户端ID。
答案 1 :(得分:0)
我收到了Unknown错误,因为我使用我的发布密钥库注册了我的SHA1哈希。使用调试密钥库注册新应用程序解决了我的问题。
答案 2 :(得分:0)
将GoogleApiCliente中添加的范围更改为Plus.SCOPE_PLUS_LOGIN。这项工作适合我。
googleApiClient = new GoogleApiClient.Builder(this)
.addConnectionCallbacks(this)
.addOnConnectionFailedListener(this)
.addApi(Plus.API)
.addScope(Plus.SCOPE_PLUS_LOGIN)
.build();
答案 3 :(得分:0)
对我而言,当我更改gradle文件中的“applicationId”时发生了这种情况。启用API时,请确保在开发人员控制台中具有相同的applicationId或packagename。