android - 在 Android 上进行一键登录和注册时获取 "16: Cannot find a matching credential"

标签 android

我一直在关注the guide for setting up One Tap sign-in and sign-up on Android ,并使用了the example code to set up the One Tap client ,但每次我调用oneTapClient.beginSignIn(signInRequest)我收到了 OnFailureListener 的回电的onFailure() :

com.google.android.gms.common.api.ApiException: 16: Cannot find a matching credential.
    at com.google.android.gms.common.api.internal.TaskUtil.setResultOrApiException(com.google.android.gms:play-services-base@@17.2.1:6)
    at com.google.android.gms.internal.auth-api.zzaj.zzc(com.google.android.gms:play-services-auth@@18.0.0:2)
    at com.google.android.gms.internal.auth-api.zzaa.dispatchTransaction(com.google.android.gms:play-services-auth@@18.0.0:6)
    at com.google.android.gms.internal.auth-api.zzc.onTransact(com.google.android.gms:play-services-auth@@18.0.0:13)
    at android.os.Binder.execTransactInternal(Binder.java:1021)
    at android.os.Binder.execTransact(Binder.java:994)

这是什么意思?为什么我会得到这个?我确定我一定在设置中遗漏了一些东西。

最佳答案

实际上有几种不同的情况,您会给出相同的错误消息
情况1
我确定我已经上传了调试证书的 SHA-1 签名,但事实并非如此。
文档说明了这一点:

On the Credentials page, create an Android client ID for your app if you don't already have one. You will need to specify your app's package name and SHA-1 signature.


在实践中,您需要转到提到的页面并创建一个 OAuth Client ID并使用旧的 keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android 获得 SHA-1 .
案例#2
出于某种原因,如果您指定 setFilterByAuthorizedAccounts(true),也会使用相同的错误代码和错误消息。作为用户,您没有任何已获授权登录您的应用程序的 Google 帐户。
如问题中链接的文档中所述,您可以先使用 setFilterByAuthorizedAccounts(true)帮助用户选择与上次相同的帐户,然后 setFilterByAuthorizedAccounts(false)以便为应用程序创建新用户。
案例#3
用户未使用设备上的任何 Google 帐户登录。

关于android - 在 Android 上进行一键登录和注册时获取 "16: Cannot find a matching credential",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61768804/

相关文章:

Android - inAnimation 适用于 ViewFlipper 但 outAnimation 不适用

android - 在 Activity 中滚动

javascript - JQuery slide 使用 box-shadow 切换奇怪的行为

java - for循环导致异常

android - 数据可用后将标记添加到 Google map ?

android - Jetpack Compose 中的 remember 和 rememberUpdatedState 的区别?

android - android中integers.xml有什么用

java - OpenGL 元素不可见

android - 将 LiveData 对象公开为 ViewModel 的参数还是由成员函数调用返回更好?

android - 在android中设置纬度和经度的问题