我有android,google授权问题(类似于.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);

这里有一些注意事项:
  • 我可以使用GoogleAuthUtil.getToken(activity,accountName,“oauth2:” + scopesString)获得访问 token
  • Activity != null,client_id = 123456789.apps.googleusercontent.com,accountName是有效的电子邮件(已通过帐户选择器选择)
  • http://plus.google.com/u/0/apps中的
  • accountName有关于我的项目的记录: -------应用程序和购买 Activity --------您的圈子
  • 我有android.permission.GET_ACCOUNTS
  • 与appActivities.putString(GoogleAuthUtil.KEY_REQUEST_VISIBLE_ACTIVITIES,“”)相同的异常(exception)
  • 与GoogleAuthUtil.getToken(activity,accountName,scopes)相同的异常

  • 解决了
  • 您应该有2个客户端ID:已安装的应用(Android)和服务1。您应在此处使用服务一。
  • 然后,您将获得UserRecoverableAuthException:NeedPermission。您应该处理异常

  • 即像这样:
    } catch (UserRecoverableAuthException e) {
    activity.startActivityForResult(e.getIntent(), REQUEST_AUTHORIZATION);
    }
    

    最佳答案

    在Google Developer Console中的“API和身份验证”部分中,单击“凭据”。

    您可能已经有一个“Android应用程序的客户端ID”,并且正在使用该客户端ID。您需要做的是创建一个新的客户端ID,然后为您的后端选择“服务帐户”。

    您必须使用此客户端ID,而不是Android。

    07-28 03:28
    查看更多