Java 使用android.gms.drive从android删除/trash文件
我需要使用Java 使用android.gms.drive从android删除/trash文件,java,android,google-drive-api,google-drive-android-api,Java,Android,Google Drive Api,Google Drive Android Api,我需要使用com.Google.android.gms.Drive从谷歌硬盘删除文件。从我所读到的内容来看,在“新API”中不支持文件删除这(仍然)正确吗?我的意思是API不再那么新了 我也读过“内容清晰,忘记”的策略,但我不想采用这种方法 问题的第2部分:鉴于仍然无法通过上述API删除文件;有没有什么简单的方法可以结合我已经写过的代码?差不多 从GoogleapClient获取令牌 使用令牌和文件id发出删除请求 利润 编辑:新的Google Play服务(版本7.0.0/2015年3月)
com.Google.android.gms.Drive
从谷歌硬盘删除文件。从我所读到的内容来看,在“新API”中不支持文件删除这(仍然)正确吗?我的意思是API不再那么新了
我也读过“内容清晰,忘记”的策略,但我不想采用这种方法
问题的第2部分:鉴于仍然无法通过上述API删除文件;有没有什么简单的方法可以结合我已经写过的代码?差不多
编辑:新的Google Play服务(版本7.0.0/2015年3月)最终采用了
trash()
方法。有关更多详细信息,请参阅。
edit2:显然,您不能对应用程序文件夹中的文件使用
trash()((
edit3:从5月28日起,现在可以实际查看文件。更新(2015年5月)
将垃圾桶/删除功能添加到GDAA 7.5中会使下面的答案变得不相关
原始答案:
顺序是:
从GDAA(文件或文件夹)获取驱动器ID
从DriveId.getResourceId()获取ResourceId(如果文件/文件夹尚未提交,则可能为null)
在此REST调用中使用ResourceId(rsid):
最后意识到你不能这么做,因为你会在GDAA中看到文件被删除/丢弃很久。你甚至可以在其中写入,在刚刚丢弃的文件夹中创建文件……这就是为什么人们引入了“清除内容,忘记”策略,没有人喜欢
不用说,这适用于您可能在GDAA universe之外执行的任何删除/删除操作(使用web界面等手动删除/删除)
总而言之,“pinoyyid”是对的,每个API都是不同的,GDAA还不能取代其他API。当您尝试进行更深入的工作时,例如获取缩略图url、解决延迟问题等,您会很快意识到这一点。另一方面,GDAA具有优势,因为它可以脱机工作,而无需您的应用程序处理它。使用REST时,您的应用程序应在某种同步服务中执行所有驱动器调用,以将您的UI操作与网络操作分离sues(延迟、离线等)。GDAA为您处理此问题,但根据自己的时间条件。并且没有删除功能
我在github上放了一段代码,这段代码已经存在,您可以使用它来处理不同的场景,然后再将自己提交给其中一个场景
很高兴能从谷歌那里清楚地听到最终的战略是什么,即
- 在所有REST功能都投入使用之后,GDAA有一天会取代REST吗
- 之后他们会退休吗
Good Luck从Google Play services 7.5开始,Google Drive Android API支持使用该方法删除
删除是永久性的,建议仅用于应用程序文件夹内容,其中没有垃圾。当你说“新api”只是为了澄清,android api(GDAA)不是REST api的替代品。可以将其视为完整api的脱机子集,在某些情况下可能有用,在其他情况下则无用。我提交了一个功能请求(希望在正确的位置)github代码做得很好。Obv,我不是Google,但我认为关于退出REST API的答案必须是“否”,因为GDAA在幕后使用该API,当然它是独立于设备/客户端的,其效果是即时的(与GDAA的延迟同步相反).@pinoyyid…我在想什么。我只是想戳他们()到处都是。到目前为止运气都不好。我脑海中有一张废弃办公室的照片,门从铰链上掉了下来,墙上阿里·阿夫沙尔和史蒂夫·巴兹尔的褪色照片,风滚草从墙上吹过……他们在持续0:50、1:23的过程中确实玩得很开心@我们没有对外发布路线图,但请将功能请求和bug提交给我们e Apps API Issue Tracker:使用该页面上的问题模板链接,确保每个问题都标记了正确的API。
com.google.api.services.drive.Drive.files().trash(rsid).execute()
com.google.api.services.drive.Drive.files().delete(rsid).execute()