Google Drive API列表文件错误和Web链接错误

时间:2014-04-22 13:15:30

标签: java android google-drive-api

我有一个Android手机应用程序原型,使用Google Drive公共网络链接功能,以便使用XML文件同步位于所述手机中的数据库。

在过去的3个星期里,已经出现了2个关键问题,稳定性明显。我会列出它们并告诉你们我的临时补丁要解决这个问题。

(1)2014年3月27日左右,当使用java API列出Q过滤器设置为特定父ID的文件时,最大值为指数后退。每页的项目数和失败时重新查询时间的指数补偿,如下所示:https://developers.google.com/drive/web/handle-errors:对于某些测试站点,但不是全部(绝大多数加拿大站点未受影响,以及纽约南部附近的美国网站也很少受到影响,这导致 500内部服务器错误 。除此之外,尝试了多个补丁,以大幅降低每用户每分钟的查询速度,并且API控制台中设置的最大查询速率也提高了10倍。所有这一切都无济于事。最后一个补丁是使用带有给定父ID的Q过滤器集删除多个文件列表,而是使用子查询,以便重建用户Google Drive内部的给定文件树。现在,要记住的重要一点是,此代码连续工作了6个月,并且在上述日期之前,测试站点开始发生故障。我考虑的一个假设可能是具有多个父ID过滤器的查询不再起作用。任何人都可以将自己与我的经历联系起来吗?

使用的Q字符串格式如下:

  

trashed = false and hidden = false and(' PARENTID1'在父母或父母的父母或父母的父母身份中' PARENTID3'在父母身上)

...其中PARENTIDx是给定的父ID字符串。请注意,此查询字符串一次最多可包含10个不同的父ID。

setMaxResults(...)

函数也被调用,限制为1000个项目,如果失败则退回,在某些情况下将此最大数量降级为100。

(2)2014年4月22日美国东部时间凌晨5点,所有测试网站上的Google云端硬盘Web文件夹出现问题。我已经检查了一些受影响的测试站点上传到驱动器的文件的时间戳,并且时间戳在约2分钟的容差范围内正确更新为当前时间。但是,将XML文件作为公共链接提取,会显示4月22日上午5:00或稍前的过期版本。这是我第一次看到这个,因为我们连续测试了Drive公共网络链接功能(从2014年1月开始)。我喜欢知道某人(可能是Google工程师)的输入,如果可能的话,谁能澄清这一点......无论如何,损害控制现在是必不可少的,所以我会有要么使用HTML Drive API来规避这个问题,要么只是将我们的整个数据库托管策略转移到另一个提供更好稳定性的提供商。请指教......

(对于第2项更新):看起来存储在元数据中的文件的时间戳是正确的,但文件的内容保持过时,因此使用HTML Drive API将是一个没有实际意义的点。尝试删除一些关键文件(移动到垃圾箱)会触发应用程序重新生成包含.xml的文件夹,但似乎重新生成的文件的内容也会过时。请注意,使用常规用户界面删除文件并将文件上传到云端硬盘仍然有效。

似乎重新建立正确的驱动器行为的唯一方法是完全删除有问题的文件,而不仅仅是将它们移到垃圾箱。

(第2项更新):我在这里提出这个问题: Google Drive API file update new possible bug

1 个答案:

答案 0 :(得分:1)

感谢您的报告.. 1似乎是一个正在向用户推出的新实施的错误。我们会修复它。 (请注意,使用“或”之类的是一个未记录的功能,但它确实用于工作。)

我不太关注#2,但可能值得在一个单独的问题中提问。