【发布时间】:2015-02-15 22:52:23
【问题描述】:
我在GoogleDriveAPI 控制台中为 Android 应用程序设置了 2 个客户端 ID:第一个用于发布 APK,第二个用于调试。已发布的应用程序一切正常,但我的问题仅与第二个客户端 ID 有关。
我遇到了这个异常:com.google.api.client.googleapis.extensions.android.gms.auth.GoogleAuthIOException
在以下几行之后:
Drive.Files.List request;
request = service.files().list();
String query = "mimeType='application/vnd.google-apps.folder' AND trashed=false AND title='" + title + "' AND '" + parentId + "' in parents";
request = request.setQ(query);
com.google.api.services.drive.model.FileList files = request.execute(); // <=I'm getting the exception here
我在windows上使用ADT,我从Windows->Preferences->Android->Build获得了调试模式的sha1指纹,但是Google Drive API授权失败!为什么?
我发现的(唯一)解决方案是在调试模式下也使用“发布”客户端 ID,并带有自定义指纹(并且确实有效)。
【问题讨论】:
-
我在开发者控制台中注册了他们两个。但即使出于其他原因进行调试,我也只使用“发布”。曾经(这可能是 GooPlaySvcs 中的一个临时故障),当我切换到发布时,我无法获得使用调试创建的所有文件/文件夹。那是在早期的 GDAA 时代(2014 年 3 月),所以它现在可以工作了。我建议在您必须将 2K 文件下载并重新上传到手机之前检查它是否工作正常(我必须这样做)。即使在调试时,也有一种方法可以将您的环境设置为生成“发布”SHA1。我会尝试找到它,并会尽快将其 GIST。
-
谢谢。是的,这就是我所做的,我也在这里找到了它:stackoverflow.com/questions/15754060/…
-
出于安全原因,最后我从 API 控制台中删除了调试客户端 ID(即使它工作正常)
-
我通过删除现有应用程序、重新安装最新的 Play 商店应用程序、一遍又一遍地测试旧的 apk 来修复类似的错误,最后现有的开发 apk 再次正常工作,但没有弄清楚确切的原因。跨度>
标签: android google-oauth google-drive-android-api