栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何使用Google Drive Android API删除Google Drive上的文件

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何使用Google Drive Android API删除Google Drive上的文件

更新(2015年4月),
GDAA终于有了自己的“ 垃圾桶
”功能,使答案在IRRELEVANT下面。

原始答案:
如上文Cheryl所述,您可以将这两个API结合使用。

以下是从此处获取的代码段,展示了如何完成此操作:

首先,访问 GoogleApiClient … services.drive.Drive

GoogleApiClient _gac;com.google.api.services.drive.Drive _drvSvc;public void init(MainActivity ctx, String email){  // build GDAA  GoogleApiClient  _gac = new GoogleApiClient.Builder(ctx).addApi(com.google.android.gms.drive.Drive.API)        .addScope(com.google.android.gms.drive.Drive.SCOPE_FILE).setAccountName(email)        .addConnectionCallbacks(ctx).addonConnectionFailedListener(ctx).build();  // build RESTFul (DriveSDKv2) service to fall back to for DELETE  com.google.api.client.googleapis.extensions.android.gms.auth.GoogleAccountCredential crd =  GoogleAccountCredential    .usingOAuth2(ctx, Arrays.asList(com.google.api.services.drive.DriveScopes.DRIVE_FILE));  crd.setSelectedAccountName(email);  _drvSvc = new com.google.api.services.drive.Drive.Builder(          AndroidHttp.newCompatibleTransport(), new GsonFactory(), crd).build();}

其次,在GDAA的DriveId上实现RESTful API调用:

public void trash(DriveId dId) {  try {    String fileID =  dId.getResourceId();      if (fileID != null)        _drvSvc.files().trash(fileID).execute();  } catch (Exception e) {} }public void delete(DriveId dId) {  try {    String fileID = dId.getResourceId();      if (fileID != null)        _drvSvc.files().delete(fileID).execute();  } catch (Exception e) {} }

…然后瞧,您正在删除文件。和往常一样,并非没有问题。

首先,如果您尝试在创建文件后立即将其删除,则 getResourceId() 会落在文件的表面,并返回 null
。与这里的问题无关,我要对此提出一个建议。

其次, 这是一个骗局! 而且它不应保留在GDAA实现的TRASH和DELETE功能之后的代码中。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/449504.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号