Google Drive Rest API:已超出未经身份验证使用的每日限制。继续使用需要注册

4yb*_*aka 7 android google-drive-api google-drive-android-api

我正在将我的应用程序从已弃用的 Google Drive Android API 迁移到 Drive Rest API。我使用新包实现了所需的行为,并且在模拟器中一切正常 - 应用程序要求访问用户的云端硬盘并让它上传文件。当我开始在真实设备上测试它时,我收到此错误:

超出了未经身份验证的使用的每日限制。继续使用需要注册

我已经在https://console.developers.google.com中配置了与旧库配合良好的项目(它需要 ../auth/drive.file 范围)。根据迁移文档- 旧配置应无需更改即可与新库一起使用。

此错误还有哪些其他原因?

Cmo*_*ery 28

有趣的是,过去这么多天我一直在处理这个问题,并等待 24 小时,看看是否有什么修复它。这是一个非常糟糕的问题。

主要答案

我有一种感觉,您正在使用 ProGuard,就像我通过“真实设备”假设您正在构建签名的 apk 一样,因为您没有指定是使用签名的还是调试的 apk。ProGuard 可能会导致发生此错误。我使用以下方法修复了它。

# Fix OAuth Drive API failure for release builds
-keep class * extends com.google.api.client.json.GenericJson { *; }
-keep class com.google.api.services.drive.** { *; }
-keepclassmembers class * { @com.google.api.client.util.Key <fields>; }
Run Code Online (Sandbox Code Playgroud)

次要答案

请注意,您不要需要使用钥匙/使用了Android的驱动其余API令牌就像你可以从其他的解决方案找到(它可能不会伤害任何,但它可以)。它与人们在其他地方谈论的内容不符(在这里他们不知道他们在谈论什么)。

有关更多信息,请参阅此处的笔记:通过 OAuth 发布版本的 Google Drive 接收 dailyLimitExceededUnreg

如果您在调试版本中遇到问题,那么您没有正确执行所有操作。我的笔记应该能让你走上正轨。

如果您需要进一步的帮助,我可能会提供帮助,因为这太疯狂了。