【问题标题】:Google Drive API - File have childrens or notGoogle Drive API - 文件是否有孩子
【发布时间】:2013-10-04 07:53:36
【问题描述】:

我从谷歌驱动器获取文件,就像那样。 文件夹的结果。好的,

我有 List result,所以我想知道 result(i) 是否有 children 与 application/vnd.google-apps.folder mime 类型。

换句话说,检查:如果当前文件夹包含子文件夹的方法返回true。否则返回 false;

我在谷歌应用引擎中使用它。

我该怎么做?

public   void getAllFiles(String id, Drive service) throws IOException{

        String query="'"+id + "'"+ " in parents and trashed=false and mimeType=application/vnd.google-apps.folder'";
        FileList files = service.files().list().setQ(query).execute();

        List<File> result = new ArrayList<File>();
        Files.List request = service.files().list();

        do {
            result.addAll(files.getItems());
            request.setPageToken(files.getNextPageToken());
        } while (request.getPageToken() != null && request.getPageToken().length() > 0);

    }

我确实想要创建额外的请求(对每个节点的新子请求)来查看它是否有子节点。类似的东西:

for (File file : result) {

             query = "'" + file.getId() + "'" + " in parents and trashed=false and mimeType='application/vnd.google-apps.folder'";
             FileList fileChild = service.files().list().setQ(query).execute();
             List<File> res = new ArrayList<File>();
             Files.List req = service.files().list();

                do {
                    res.addAll(fileChild.getItems());
                    req.setPageToken(fileChild.getNextPageToken());
                } while (req.getPageToken() != null && req.getPageToken().length() > 0);


            RemoteFolder remFolder = new RemoteFolder();
            remFolder.setFile(file);
            if(res.size()>0){
                remFolder.setChildrenable(true);
                log.info("folder named "+file.getTitle() + " have children folders count: "+ res.size());
            }

            folderList.add(remFolder);

        }

我想优化我的代码。

【问题讨论】:

    标签: google-app-engine google-api google-drive-api google-api-java-client google-drive-realtime-api


    【解决方案1】:

    您必须为每个节点发出另一个请求。如果你想避免过多的调用,请使用 memcached。

    【讨论】:

    • memcached 是什么意思?我不知道。是的,我对每个节点都做了另一个请求。我的问题中写了该代码。我可以优化它以更快吗?或者如何在这里创建memcached?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多