相关疑难解决方法(0)

垃圾邮件,删除新的Google云端硬盘Android API?

更新(2015年5月):
"垃圾"功能已在GDAA中实施,使下面的问题无关紧要.

原始问题:
当我使用新的"Google Drive Android API"(GDAA)时,我遇到了一些我无法弄清楚的差异.基本上,我有一个使用"com.google.api.services.drive"界面(插入,补丁,更新)的旧应用程序,我很乐意将其移植到GDAA.

首先,GDAA与drive.google.com网络应用.
使用旧服务,我使用了DriveScopes.DRIVE_FILE范围,因此我假设了类似的行为/结果.使用旧的"DriveScopes.DRIVE_FILE"创建的文件可以由我("驱动程序所有者")在" https://drive.google.com "中删除(我假设我的范围是DRIVE那里),后续的Android应用查询将无法找到他们.它表现得像我期望的那样:

  1. Android应用创建文件.
  2. 用户在"drive.google.com"上删除它们.
  3. Android应用程序不再看到它们了.

使用新的GDAA,它似乎不起作用.这让我想到了第二点:

DELETE/TRASH功能.
我试图测试CRUD功能,根本找不到DELETE(再次,它可能是我的无知/短视).从"drive.google.com"中删除它们会让它们在那里隐身,但Android应用仍会看到它们.元数据可以查询"isTrashed()",但"MetadataChangeSet.Builder"中没有任何内容可以让我删除/删除它们,只有setMimeType(),setStarred(),setTitle().

我迷路了,请帮忙.

google-drive-api google-drive-android-api

6
推荐指数
2
解决办法
5060
查看次数

新的 Google Drive Android API (GDAA) 中报告的已删除文件状态不可靠

自从新的 Google Drive Android Api (GDAA) 推出以来,这个问题一直困扰着我。首先在这里讨论,我希望它会在以后的版本中消失,但它仍然存在(截至 2014/03/19)。用户删除的(指“drive.google.com”中的“删除”操作)文件/文件夹不断出现在

  Drive.DriveApi.query(_gac, query), and  
  DriveFolder.queryChildren(_gac, query)
Run Code Online (Sandbox Code Playgroud)

  DriveFolder.listChildren(_gac)
Run Code Online (Sandbox Code Playgroud)

方法,即使与

  Filters.eq(SearchableField.TRASHED, false)
Run Code Online (Sandbox Code Playgroud)

查询限定符,或者如果我对结果使用过滤构造

for (Metadata md : result.getMetadataBuffer()) {
  if ((md == null) || (!md.isDataValid()) || md.isTrashed()) continue;
  dMDs.add(new DrvMD(md));
}
Run Code Online (Sandbox Code Playgroud)

使用

  Drive.DriveApi.requestSync(_gac);
Run Code Online (Sandbox Code Playgroud)

没有影响。自移除以来经过的时间变化很大,我的最后一个案例超过 12 小时。它是完全随机的。

更糟糕的是,我什至不能依赖“drive.google.com”中的 EMPTY TRASH,它不会产生任何可预测的结果。有时文件状态更改为“isTrashed()”,有时它会从结果列表中消失。

当我不断摆弄这个问题时,我最终得到了以下超级骇客:

find file with TRASH status equal FALSE 
if (file found and is not trashed) {
  try to write content
  if ( write content fails)
    create a new file
}
Run Code Online (Sandbox Code Playgroud)

甚至这也无济于事。即使文件在垃圾箱中,该文件也显示为健康(并且它的状态被查询和元数据测试双重过滤)。它甚至可以愉快地写入并在垃圾箱中检查时进行修改。

这里的结论是修复应该获得更高的优先级,因为它使 Drive …

google-drive-api google-drive-android-api

5
推荐指数
1
解决办法
1876
查看次数

检查文件夹是否存在,如果不存在则创建它

我注意到在SO上没有确定的答案,所以我正在寻找一个规范的答案,问题是" 如何检查文件夹是否存在,如果不存在则创建它,使用Google Drive Android API? " .理想情况下显示使用异步方法ResultCallback和使用同步方法的示例.await().

PS我用相同的标题知道这个问题,但是接受的答案集中在已知的滞后错误上isTrashed(),并且不清楚你实际知道文件夹存在的代码中的哪一点.其他答案似乎已过时.

android google-drive-api google-drive-android-api

1
推荐指数
1
解决办法
2689
查看次数