罕见的异常“android.accounts.AuthenticatorException:ServiceDisabled” - 这意味着什么?

问题描述 投票:0回答:1

编辑3(7月)

问题现在又回来了!

android.accounts.AuthenticatorException: ServiceDisabled

所以我的电子邮件应用程序无法再连接到GMail了。

有人可以帮忙吗?

谢谢

编辑2(3月7日)

也许为Android创建“ID客户端OAuth 2.0”正在解决此问题。此ID必须在此页面上创建https://console.developers.google.com/apis/credentials

正在进行调查


编辑

我认为这与这个https://wordpress.org/support/topic/be-careful-everybody-who-is-using-oauth-2-0-to-access-gmail-google-gsuite-apis/有关

如何让我的应用程序被批准使用oauth2:https://mail.google.com/ scope


受影响用户的反馈 - 这是原因吗?

他创建了许多Google帐户(进行一些测试)。这可能与创建的Google帐户数量过多有关,这些帐户与其初始电子邮件地址“关联”(使用相同的初始帐户进行恢复)?错误的假设


我的电子邮件应用程序正在使用AccountManager访问GMail(使用OAuthToken)并且它工作正常(自2102起),除了我现在有一个特殊的例外,只有特定的Google帐户才会发生

这似乎是一种很新的行为

这是错误:

W/System.err: android.accounts.AuthenticatorException: ServiceDisabled
W/System.err:     at android.accounts.AccountManager.convertErrorToException(AccountManager.java:2507)
W/System.err:     at android.accounts.AccountManager.-wrap0(Unknown Source:0)
W/System.err:     at android.accounts.AccountManager$AmsTask$Response.onError(AccountManager.java:2350)
W/System.err:     at android.accounts.IAccountManagerResponse$Stub.onTransact(IAccountManagerResponse.java:69)
W/System.err:     at android.os.Binder.execTransact(Binder.java:697)

问题:

  1. “android.accounts.AuthenticatorException:ServiceDisabled”错误究竟是什么意思?
  2. 为什么这只发生在这个谷歌帐户? (可能对于其他一些,但根据用户的反馈,这似乎很少见)。我应该检查此帐户的某些Android Google帐户设置吗?哪个?

因此,对于我在手机上测试的大约10个帐户,相同的代码运行良好,而且这个特定的Google帐户失败了!为什么?

仅供参考,我在这里开了一个问题:https://issuetracker.google.com/issues/127454208

注意:

根据这个帐户的所有者,该应用程序之前正在工作,并突然停止工作:我正在调查它何时发生,以及他是否可以给我一些关于他当时可能采取的行动的提示。

先谢谢你的帮助。


我收集的一些信息:

我设法调试了一下,发现堆栈跟踪在cpp中更进一步:

jboolean res = env->CallBooleanMethod(mObject, gBinderOffsets.mExecTransact,
        code, (int32_t)&data, (int32_t)reply, flags);

https://android.googlesource.com/platform/frameworks/base/+/f76a50c/core/jni/android_util_Binder.cpp

我发现“res = onTransact(代码,数据,回复,标志);” (即来自AIDL的android.accounts.IAccountManagerResponse $ Stub.onTransact(IAccountManagerResponse.java:69)被调用

code = 2 (probably android.accounts.AccountManager.VISIBILITY_USER_MANAGED_VISIBLE = 2)
data : a Parcel Object 
reply : another Parcel Object 
flags = 17

这看起来很好,适用于所有其他Google帐户!

我还发现AccountManager.convertErrorToException中的错误代码是代码ERROR_CODE_INVALID_RESPONSE

android google-authentication accountmanager
1个回答
0
投票

编辑(7月7日)

问题又回来了!

android.accounts.AuthenticatorException:ServiceDisabled

如果你能帮助我..

谢谢


问题理解并解决了!

自2019年1月起,qazxsw poi。 此外,qazxsw poi页面指出:

本节中要求的执行将于2019年1月15日开始,届时所有新应用程序必须经过新的应用程序审核流程才能访问某些API范围。在2019年1月15日之前提交验证的申请将获得一个宽限期以便遵守,并且必须在2019年2月15日之前提交重新审核。要了解有关这些新要求的更多信息,请阅读我们的博文,提升用户信任我们的API生态系统,以及OAuth应用程序验证常见问题解答。

为了让您的Android应用符合此要求,您必须为Android创建新的“ID客户端OAuth 2.0”。

必须在此页面some OAuth2 scopes are restricted上创建此ID

奇怪的是,所有这些似乎与G Suite和Google API有关,而不是Android SDK。 这可能是因为Android SDK的OAuth部分使用场景背后的Google API,更准确地说,Additional Requirements for Specific API Scopes方法确实使用它。

© www.soinside.com 2019 - 2024. All rights reserved.