相关疑难解决方法(0)

Google云端硬盘Android API - 检查文件夹是否存在

我正在尝试使用新的Google云端硬盘Android API来确定如何检查Google云端硬盘中是否存在文件夹

我已经尝试了以下内容,认为如果找不到文件夹它会崩溃或返回null,但它不会这样做(只要它是有效的DriveId,即使文件夹已被删除).

DriveFolder folder = Drive.DriveApi.getFolder(getGoogleApiClient(), driveId));
Run Code Online (Sandbox Code Playgroud)

如果我尝试创建一个文件,我从上面的代码中得到的文件夹,它也不会崩溃?我显然很难理解这个新API是如何一起工作的,尤其是那些非常有限的教程和SO问题,我真的坚持这个,所以任何输入都将非常感激.

只是为了澄清我的问题:我在指定的Google云端硬盘文件夹中创建了一个文件,但如果该文件夹不存在(已被用户删除),我想先创建它.

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

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

垃圾邮件,删除新的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)getResourceId()返回null(计时问题)

在测试SO 22295903中讨论的删除,垃圾功能时,我遇到了这个问题.

1 /创建包含内容的文件

GoogleApiClient _gac;
DriveFile createFileWait(DriveFolder fldr, String name, String mime, byte[] buff) {
  DriveFile drvFile = null;
  try { 
    ContentsResult rslt = Drive.DriveApi.newContents(_gac).await();
    if (rslt.getStatus().isSuccess()) {
      Contents cont = rslt.getContents();    
      cont.getOutputStream().write(buff);
      MetadataChangeSet meta = (mime == null) ?
          new MetadataChangeSet.Builder().setTitle(name).build() :
          new MetadataChangeSet.Builder().setTitle(name).setMimeType(mime).build();
      drvFile = fldr.createFile(_gac, meta, cont).await().getDriveFile();
    }
  } catch (Exception e) {}
  return drvFile;
}
Run Code Online (Sandbox Code Playgroud)

2 /使用查询检索文件(它的标题):

ArrayList<DriveId> findAll(String title, String mime, DriveFolder fldr) {
  ArrayList<DriveId> dIDs = null;
  if (isConnected()) …
Run Code Online (Sandbox Code Playgroud)

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

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

Android - 从其他设备访问Google云端硬盘appdata文件夹,但相同的应用

我的应用设置为允许将备份保存到Google云端硬盘应用数据文件夹.它在同一台设备上运行良好.当我进行备份时,删除应用程序的数据,然后恢复所有工作.

但是,当我尝试在一台设备上进行备份,然后安装在另一台设备上并尝试恢复时,找不到任何文件.当我在原始设备上卸载应用程序,在同一设备上重新安装并尝试还原时,也是如此.这两种情况都导致没有找到文件,尽管我在登录Google云端硬盘时看到appdata文件夹中有文件.

我在某处读过你必须使用RESOURCE_ID而不是文件的DRIVE_ID才能在设备之间工作,因为DRIVE_ID会因设备而异.但是,我看到如何获取RESOURCE_ID的唯一方法是使用driveId.getResourceId(),我无法从其他设备获取正确的DRIVE_ID.

tl; dr:我该如何从另一台设备/安装创建的appdata文件夹中检索正确的文件?

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

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

如何使用Google Drive Android API删除Google云端硬盘上的文件

我是Google Drive Android API的新手,我正在学习它.但我遇到的问题是我无法使用Google Drive Android API删除文件,但没有一个例子.anybood可以帮我解决这个问题吗?非常感谢.

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

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