android - 适用于 Android 的 Drive API 已损坏,对吧?

标签 android google-drive-api google-drive-android-api

截至 2015 年 8 月,“Android 版 Drive API”并未按照(松散)记录的方式运行,实际上已被破坏。主要痛点如下:

1) 共享相同 APP_ID 并使用相同 Google 用户登录的应用意味着能够查找并访问相同的文件 as Google indicate (例如,device1 上的 appX 创建一个名为“blahblah”的文件夹(其中用户驱动器中不存在“blahblah”文件夹),device2 上的 appX 应该能够找到该文件夹​​并从中上传/下载文件...但是事实并非如此(或者即使它确实有效,它也是间歇性的,并且大多数情况下根本不起作用))。即使在(多次)requestSync 调用以及允许云端硬盘自行同步超过 72 小时后,情况仍然如此。

2) 即使 requestSync 调用成功后,已删除的文件夹也不会被视为已删除。这样的垃圾文件夹仍然会有 isTrashed==false。

3) 永久删除的文件夹(即它从云端硬盘中消失,再也不会回来)。仍然可以找到并“成功”在其中创建文件夹和文件,但是写入此类文件的内容将始终在完成事件服务中产生失败。同样,这样的文件夹仍然会有 isTrashed==false (这很糟糕)。

错误报告已通过以下方式提交(感谢@DalmTo 提供的链接):https://code.google.com/a/google.com/p/apps-api-issues/issues/entry?labels=Type-Defect,API-Drive

https://code.google.com/a/google.com/p/apps-api-issues/issues/detail?id=4003 https://code.google.com/a/google.com/p/apps-api-issues/issues/detail?id=4004

那么,问题是:知道解决这些问题的方法吗?

更新:

我已将这些问题的范围缩小到我的个人 Google 帐户(或我的个人云端硬盘,其中包含很多很多文件)。这表明这些问题是 https://code.google.com/a/google.com/p/apps-api-issues/issues/detail?id=3905 的症状或与之密切相关。

最佳答案

我可以为您提供有关问题 1/的一些观点(在运行同一应用程序的多个设备上同步)。我已经在April 2014中指出了这一点。没有令人满意的答案(实际上是彻底的沉默)。所以我切换回REST API并自己处理所有事情(使用syncadapter,服务,...)。 REST的算法是:

  1. 创建/更新/删除/....(execute() 方法)
  2. 使用 GCM 将资源 ID(“id”+消息)分发到其他设备
  3. 让其他设备通过 REST API 处理更改(同样是在服务中)

我重新访问了 GDAA此后几次都没有得到满意的结果(requestSync)。最后,当我开始使用'completion events时,我高兴了一半。 ’(一年后,不用说)。

算法再次是:

  1. 创建....
  2. 完成后获取 ResourceId
  3. 使用 GCM 将“ResourceId”+消息发送到其他设备
  4. 让其他设备通过 GDAA(使用 ResourceId)处理更改

...重点是:
在我尝试让它发挥作用的过程中,我终于意识到 GDAA 并不适合所有应用程序(就像我们在这里讨论的那样)。 GDAA 经历各种循环,使在线/离线状态透明,同时缓存数据并优化网络流量、电池使用……它会产生延迟、不可预测的状态……

...所以,最终我不再责怪 GDAA 不是一把瑞士刀,而是做了每个人都梦想过的事情。开发人员需要充分了解他/她正在使用的工具箱的优点/缺点,并预先决定使用哪个工具。我知道,文档并没有详细说明这一点,相信我,我自己也陷入了马格努斯的兴奋之中。我还记得pinoyyid's 2014 年 1 月的警告,告诉我不要太早介入。

祝你好运

关于android - 适用于 Android 的 Drive API 已损坏,对吧?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32303732/

相关文章:

android - 使用 GoogleDriveApi 创建或打开 native Google 文档

java - 添加使用 java 8 的 .jar 文件后的 Android 编译循环

java - 更改向日葵应用程序 ViewModel 以仅显示植物列表?

javascript - 在我的 android 程序中在哪里编写 JavaScript

android - Google Drive REST API 是否仍需要 GET_ACCOUNTS 权限?

android - 对于某些帐户,Google Drive API Android 帐户选择器始终返回 RESULT_CANCELED

android - Looper 处理程序示例

google-drive-api - 根据 Google Drive API v3 和 .NET 中的属性键列出项目

c# - MVC 中的 GoogleWebAuthorizationBroker For Google Drive Access

java - 使用 Google Drive v3 列出文件夹中的文件