Google Drive API 文件更新新的可能错误

2023-12-09

我有一个在 Android 上运行的应用程序,并使用 Drive SDK java API 将 XML 格式的内部数据库副本发送到链接的 Google Drive 帐户中。要更新文件,请执行以下操作。首先,一个文件 obj.从给定的已知文件 ID 中获取(与驻留在 Google Drive 中的 .xml 相对应的文件 ID):

final File tmpfile = driveService.files().get(mapperID).execute();
tmpfile.setTitle(XML_FILENAME);
tmpfile.setDescription(XML_FILEDESCRIPTION);
tmpfile.setModifiedByMeDate(new DateTime(System.currentTimeMillis()));
tmpfile.setMimeType(XML_MIMETYPE);
//Note: fileBuilder.srcFile contains a byte array of the binary content to be pushed to Drive
mediaContent = new ByteArrayContent(XML_MIMETYPE, fileBuilder.srcFile); 
File tmpResFile = driveService.files().update(mapperID,tmpfile, mediaContent).execute();

...其中mapperID 是从HashMap 对象获取的ID 字符串,该对象包含Google Drive 内所有相关文件ID 的列表,fileBuilder.srcFile 是一个非空byte[] 对象。

直到美国东部时间 2014 年 4 月 22 日凌晨 5 点,这段代码一直完美无情地工作,并更新了 Google Drive 中的 XML 文件,其中包含应用程序使用的本地 SQLITE 数据库的副本,但采用人类可读的格式,和 HTML 可解析的格式。

在这个日期和时间,我们所有的测试站点(无论是加拿大端还是美国端)同时发生的情况如下:文件的修改时间戳不断正确更新为 currentTimeMillis(),但文件的二进制内容与上次有效更新相同(即在 2014 年 4 月 22 日 05:00.00 EST 的几分钟内)。

解决此问题的唯一方法是通过 API 完全删除与该 XML 文件对应的文件 ID,或者手动将文件转储到垃圾箱中,然后清除垃圾箱。请注意,如果文件只是移至垃圾箱,则同样的问题会不断出现。这不可能是因为我们修改了垃圾箱中的文件(或者看起来如此),因为我们尝试多次重新启动应用程序,并且在重新启动时(以及在任何 Google Drive 故障之后),应用程序进入“缓慢”状态扫描模式”,并通过在 Google Drive 中查询相关文件夹中的所有文件来重建整个文件层次结构,并使用以下 Q 字符串标志:

trashed = false and hidden = false

如果情况确实如此,那么我的猜测是,我们不会看到包含 XML 文件的主文件夹中的时间戳被更新,而我们确实看到了这一点。此外,在不手动将任何内容扔进垃圾箱的情况下,我们确实看到文件时间戳按预期更新为 currentTimeMillis(),但其内容仍然过时,直到我们通过完整文件删除来清理 Drive。

现在,我们正在对此进行损害控制,但如果这是可以在服务器端轻松解决的问题,而不是我们必须手动在各处推送客户端补丁,那就太好了……如果有根本原因,我们这边的任何补丁都无法解决这个问题,只会推迟不可避免的事情。

有任何想法吗?


None

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Google Drive API 文件更新新的可能错误 的相关文章

  • 使用java在mysql中插入带有\\的文件路径

    我正在使用java制作一个独立的应用程序 并且我需要插入用户从文件选择器中选择的图像的路径 我正在获取文件的路径 但是当我将其存储在数据库 mysql 中时 它不会存储 所以当我检索该路径时 该文件不会显示 如何存储文件的路径 这样就可以使
  • Selenium Webdriver 中显式等待 findElements

    登录后 页面重定向到一个页面 我想等待页面加载 我在其中按 tagName 查找元素 By inputArea By tagName input List
  • Apache POI 的 ProGuard 设置

    我正在构建一个使用 Apache POI 库的应用程序 当我调试应用程序 在不运行 Proguard 的情况下编译它 时 一切都运行良好 但是在导出 APK 后 当我运行应用程序并打开 Excel 文件时 出现以下异常 RuntimeExc
  • 用dagger 2查看依赖注入

    我有一个自定义视图扩展TextView 我应该在哪里调用我的组件来注入视图 component inject customTextView 因此 我发现我需要在自定义视图的构造函数中添加注入 在所有视图中 或者使一个调用另一个 Exampl
  • NestedScrollView 中带有 RecyclerView 的 ItemTouchHelper:拖动滚动不起作用

    我已经实现了 ItemTouchHelper 如本文所述 https medium com ipaulpro drag and swipe with recyclerview b9456d2b1aaf k7xm7amxi https med
  • 如何更改tomcat jmx密码的文件权限

    我正在尝试保护 Windows 平台上托管的本地 tomcat 实例上的 JMX 访问 我已经创建了访问权限和密码文件 并使用以下 VM 参数插入这些文件 Dcom sun management jmxremote password fil
  • 使用react-native使用WebView设置用户代理

    我想修改 WebView 中的用户代理字符串 以便在服务器端我可以检测到请求来自我的反应本机应用程序 我想使用 WebView 中的 source 属性来做到这一点 对于 IOS 和 Android 我该如何执行此操作 您只需将其设置为 W
  • Handler、MessageQueue、Looper,它们都是运行在UI线程上的吗?

    我正在尝试解决线程问题 并且我知道我可能会使用Handler将消息 可运行对象发布到MessageQueue 这又被Looper并发送回Handler进行加工 如果我发帖到Handler在我的活动中 是Activity Handler Me
  • Hibernate3:自引用对象

    需要一些帮助来了解如何执行此操作 我将在文件系统上运行递归 查找 并且希望将信息保留在单个数据库表中 具有自引用的层次结构 这是我想要填充的数据库表结构 目录对象表 id int NOT NULL name varchar 255 NOT
  • 为什么 Libgdx 的 Table 不接受缩放操作?

    我在 libgdx 库中使用 scene2d 在游戏中创建一些 UI 我使用了一个表格 我想在用户触摸时采取一些缩放操作以使按钮触摸有意义 当我使用任何其他 Actor 类型 例如 Group 并为其提供缩放操作时 它可以工作 但不能工作表
  • Firebase:获取对第一个项目/元素的引用

    我正在尝试获取对 firebase Array 中第一个项目的引用 就我而言 它会是 ElmmycgjS1Nvq albums IrdMMds 但我不确定如何构造查询 dbRef child ElmmycgjS albums child n
  • 电子邮件发不出去,短信中的链接为 404

    我们刚刚完成将 Google AppInvites 集成到我们的应用程序中 我们注意到以下问题 电子邮件不会被发送 而发送的短信会带有一个链接 显示会出现 404 页面 仅当我设置 设置其他平台目标应用程序 对于 Android 和 iOS
  • 在 Java Jersey 2 JAX-RS 中初始化单例

    我是泽西岛 2 22 2 的新手 请耐心等待 我正在创建一个与 LDAP 服务器交互的 REST 服务 用于存储 删除和检索用户数据 该服务通过执行加密 解密充当安全中介 在使用 REST 服务之前必须进行相当多的初始化 并且我只想执行此初
  • Hive NVL 不适用于列的日期类型 - NullpointerException

    我正在使用 HDFS 上的 MapR Hive 发行版并面临以下问题 如果表的列类型是 日期 类型 则NVL https cwiki apache org confluence display Hive LanguageManual UDF
  • 是否可以从 Android Studio 恢复被覆盖的文件?

    由于错误 我覆盖了我的两个来自 android studio 的具有相同名称的项目 并且今天我已经取消了该操作 我尝试打开主项目 但发现其中没有 Java 类 只有布局文件 在我覆盖的第二个项目中 文件存在巨大混乱 并尝试使用 Androi
  • Android Mediaplayer:下载媒体文件的 setDataSource 问题

    我有一个可以录制和播放音频文件的应用程序 一些音频文件是使用 httpclient 使用简单的标准 http 下载来下载的 很长一段时间以来 它就像一种魅力 现在我突然无法播放我下载的文件 该堆栈失败 我将文件存储在 SDCard 上 并且
  • Selenium Webdriver 中的 IF 语句

    我想知道是否有人可以帮助我解决我正在尝试解决的问题以及 Java 中 Webdriver 的 If 语句 当登录到我正在测试的应用程序时 可以在主页之前进入安全问题页面 如果是新用户等 我希望测试中的代码做的是 如果出现安全问题页面 请填写
  • 以编程方式暂时禁用自动更新

    我有一个自行车计算机应用程序 可以在用户骑行时记录数据 我有一位用户报告了一个我没有考虑到的问题 他出去进行了一次长途骑行 100 多英里 但在外出记录数据时 该应用程序通过 Google Play 自动更新进行了更新 不幸的是 这导致应用
  • 使用反射 API 填充 Proto 中的地图字段

    我正在尝试编写一个模块 该模块将获取 Message Builder 和从字段名称到值的映射 并将用值填充构建器 一切正常 直到我遇到地图字段 使用 Proto3 我收到一条特定消息 我知道我可以执行该消息的字段 builder b put
  • Android Nougat 无法显示某些矢量文件 (Resources$NotFoundException)

    我一直在开发一个包含许多矢量图形的应用程序 最近我开始在 Nougat 上测试它 发现它立即崩溃了 logcat 在加载矢量时显示 Resources NotFoundException 这让人想起带有矢量图形的 Android 早期版本中

随机推荐