如何在Google云端硬盘中的文件夹中创建文件夹?

时间:2016-03-12 00:01:21

标签: java android google-drive-api google-drive-android-api

我知道如何使用API​​ v2 for Java在Google云端硬盘中制作文件夹: https://developers.google.com/drive/v3/web/folder#creating_a_folder

但是如何在文件夹中创建一个文件夹,将我的文件放入其中?

假设我有一个文件myfile,我要上传到Google云端硬盘中的/ myfolder1 / myfolder2 /目录,我应该首先创建myfolder1,然后获取其ID,然后创建myfolder2并将其父级设置为myfolder1 ,然后将myfile的父级设置为myfolder1? 有没有更好的方法呢?

我也在添加代码:

(setq sample (load_dialog "C:/Users/my-user/Desktop/my-dcl.DCL"))

 (if (not (new_dialog "my-dialog" sample))
 (exit )
 )

由于

1 个答案:

答案 0 :(得分:0)

这是一个处理它的小函数,你可以使用返回的ID作为你正在创建的文件的parentId,并且文件将在多个文件夹中创建:)

// This function gets an array of Strings representing a file's parent folders
// And returns the most inner parent folder's ID
private String makeParentFolders(String[] parentList) {

    File folder = null;
    String folderId = null;
    for(int i = 0; i < parentList.length; i++) {
        folder = new File();
        folder.setMimeType(getMimeType("folder"));
        folder.setTitle(parentList[i]);
        if (i > 0) {
            folder.setParents(Arrays.asList(new ParentReference().setId(folderId)));
        }
        try {
            folder = this.service.files().insert(folder).execute();
            folderId = folder.getId();
        }
        catch (IOException e){
            e.printStackTrace();
        }
    }

    return folder.getId();
}

如果有人想出更优雅的方式,请在这里发帖。