【发布时间】:2014-01-26 21:36:50
【问题描述】:
更新(2015 年 5 月):
“垃圾”功能已在 GDAA 中实现,因此下面的问题无关紧要。
原始问题:
当我使用新的“Google Drive Android API”(GDAA)时,我遇到了一些我无法弄清楚的差异。基本上,我有一个使用“com.google.api.services.drive”接口(插入、补丁、更新)的旧应用程序,我很想将它移植到 GDAA。
首先,GDAA 与 drive.google.com 网络应用程序的对比。
对于旧服务,我使用了 DriveScopes.DRIVE_FILE 范围,因此我假设了类似的行为/结果。我(驱动器所有者)可以在“https://drive.google.com”中删除使用旧“DriveScopes.DRIVE_FILE”创建的文件(我假设我的范围是 DRIVE 那里),随后的 Android 应用程序查询将找不到它们。它的行为与我预期的一样:
- Android 应用程序创建文件。
- 用户在“drive.google.com”上删除它们。
- Android 应用程序不再看到它们。
使用新的 GDAA,它似乎不起作用。这让我想到了第二点:
DELETE/TRASH 功能。
我试图测试 CRUD 功能,但根本找不到 DELETE(同样,这可能是我的无知/短视)。从“drive.google.com”中删除它们会使它们在那里不可见,但 Android 应用仍然可以看到它们。元数据可以通过“isTrashed()”进行查询,但“MetadataChangeSet.Builder”中没有任何内容可以让我删除/删除它们,只有 setMimeType()、setStarred()、setTitle()。
我迷路了,请帮忙。
【问题讨论】:
-
问题是什么?
-
纯粹出于好奇,为什么要从 REST API 迁移到本地 API?。我查看了新的 API,并决定坚持使用(大部分)有效的方法。 Drive 和 Android 本地存储之间存在轻微的范式不匹配,因此您只能任由 Google 最终匹配两者。具体来说,我正在考虑 Drive 中可用的所有丰富元数据,这些元数据可能会或可能不会在 Android 中实现。
-
问题是“新的 GOOGLE DRIVE API 中的删除(或垃圾箱或 setTrash())在哪里?”。您的好奇问题的答案在这里:youtube.com/watch?v=quQyZdhPjxc 和这里:developers.google.com/drive/android/files 我的 Android 应用程序需要向 Google Drive 写入/读取文件,新的 API 应该负责所有同步功能。在这一点上,我可以在我的应用程序中提供自己缺少的功能(可索引、描述、全文),我希望他们能赶上。此外,我喜欢玩新玩具。
-
Google Drive Android API 不支持删除,我们正在为即将发布的下一个版本而努力。
-
@pinoyyid 差不多一年后,我必须承认你是对的。我自己可以更好地管理同步。实际上,GDAA 同步的不可预测性使其变得更加困难。而且设备间更新通知(我愚蠢地希望)无处可寻。 DELETE 在哪里(见上面的评论)?有趣的是,每当我抱怨缺乏支持 (developers.google.com/drive/support) 时,我都会立即被一群智者否决。
标签: google-drive-api google-drive-android-api