编辑3(7月)
问题现在又回来了!
android.accounts.AuthenticatorException: ServiceDisabled
所以我的电子邮件应用程序无法再连接到GMail了。
有人可以帮忙吗?
谢谢
编辑2(3月7日)
也许为Android创建“ID客户端OAuth 2.0”正在解决此问题。此ID必须在此页面上创建https://console.developers.google.com/apis/credentials
正在进行调查
编辑
如何让我的应用程序被批准使用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)
问题:
因此,对于我在手机上测试的大约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
编辑(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方法确实使用它。