小编Car*_*son的帖子

GoogleAuthException:未知(android)

我有Android,谷歌授权问题(类似于.GoogleAuthException:在进行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)
Run Code Online (Sandbox Code Playgroud)

当我执行以下代码时它是可重现的:

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);
Run Code Online (Sandbox Code Playgroud)

以下是一些注意事项:

  1. 我可以使用GoogleAuthUtil.getToken获取访问令牌(activity,accountName,"oauth2:"+ scopesString)
  2. activity!= null,client_id = 123456789.apps.googleusercontent.com,accountName是有效的电子邮件(使用帐户选择器选择)
  3. http://plus.google.com/u/0/apps中的accountName 有关于我的项目的记录:<项目名称> -------应用和购买活动--------您的圈子
  4. 我有 android.permission.GET_ACCOUNTS
  5. appActivities.putString的相同例外(GoogleAuthUtil.KEY_REQUEST_VISIBLE_ACTIVITIES,"")
  6. 与GoogleAuthUtil.getToken(activity,accountName,scopes)相同的例外

解决了

  1. 您应该有2个客户端ID:已安装的应用程序(Android)和服务1.你应该在这里使用Service one.
  2. 然后你会得到UserRecoverableAuthException:NeedPermission.你应该处理异常

就像这样:

} catch (UserRecoverableAuthException e) { …
Run Code Online (Sandbox Code Playgroud)

android google-oauth

22
推荐指数
1
解决办法
8802
查看次数

标签 统计

android ×1

google-oauth ×1