且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

Google Drive API - 获取包括文件夹的文件列表

更新时间:2023-02-14 12:47:51

正如你在上面的评论中回答自己的(但你不能匹配名字,你必须匹配ID;名称不唯一)。



第1步:一次获取所有文件夹(分页结果,过滤不需要的字段,跳过垃圾箱):

  private static Drive mGOOSvc; 
....
static ArrayList< ContentValues> getFolders(){
ArrayList< ContentValues> cvs = new ArrayList<>();
if(mGOOSvc!= null)try {
Drive.Files.List qry = mGOOSvc.files()。list()
.setQ(mimeType ='application / vnd.google- apps.folder')
.setFields(items(id,labels / trashed,parents / id,title),nextPageToken);
String npTok = null;
if(qry!= null)do {
FileList gLst = qry.execute();如果(gLst!= null){
for(File gFl:gLst.getItems()){
if(gFl.getLabels()。getTrashed())continue;
for(ParentReference parent:gFl.getParents())
cvs.add(newContentValues(gFl.getTitle(),gFl.getId(),parent.getId()));
}
npTok = gLst.getNextPageToken();
qry.setPageToken(npTok);
}
} while(npTok!= null&& npTok.length()> 0);
} catch(Exception e){/ *处理异常* /}
return cvs;

第2步:解析生成的ArrayList树结构(匹配ParentIds,处理多个父母)



第3步:对MIME类型为image / jpeg ,image / png,...任何img mimetype(只是修改上面的代码来获取文件)并再次解析。