来自GoogleSignInOptions Android的requestEmail时发出INTERNAL_ERROR

时间:2016-01-22 09:02:35

标签: android google-signin google-identity

我按照谷歌指令添加登录谷歌按钮到我的应用程序。如果我申请登录时没有requestEmail()

GoogleSignInOptions gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
            .build();

返回结果为成功。但是,如果我要求发送电子邮件,则会发现INTERNAL_ERROR作为状态。

GoogleSignInOptions gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
            .requestEmail()
            .build();

返回

E/Result: Status{statusCode=INTERNAL_ERROR, resolution=null}

我被困在这里。任何帮助高度赞赏。如果您需要有关代码的更多信息,请发表评论。谢谢

1 个答案:

答案 0 :(得分:8)

如果您收到错误代码8(INTERNAL_ERROR),请在开发者控制台中仔细检查您的应用注册。请注意,每个注册的Android客户端都由(包名称,Android签名证书SHA-1)对唯一标识。如果您的调试和生产环境有多个软件包名称/签名证书,请确保注册每对软件包/签名证书。验证:

  1. 打开Credentials page并选择您的项目
  2. 确保每对都有 Android 类型的OAuth 2.0客户端ID。 要为您的Android客户端创建新的OAuth 2.0客户端ID,请从下拉列表中选择新凭据 - > OAuth2客户端ID ,然后选择Android并输入您的包名称/签名 - 那里的证书指纹。
  3. 获取签名密钥证书SHA-1:

    标准调试密钥 keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android

    其他(自定义)密钥 keytool -list -v -keystore $YOUR_KEYSTORE_LOCATION