将文件上传到Google云端硬盘中的指定文件夹

时间:2012-12-16 16:11:39

标签: google-drive-api

我在将文件上传到Google云端硬盘中的现有文件夹时遇到问题。它一直告诉我“xxx”不存在。

String folderId = "Storage";

ChildReference newChild = new ChildReference();
newChild.setId(fileContent.getName());

drive.children().insert(folderId, newChild).execute();

参考https://developers.google.com/drive/v2/reference/children/insert

3 个答案:

答案 0 :(得分:3)

是的,最后我可以将我的整个文件目录上传到谷歌驱动器中的特定文件夹,原因很简单,因为文件夹不匹配。

我通过使用setParents函数在代码中取得了成功。

String folderId = "0BwI6rRcqw8ZURlpleEVsRUhod0U";

File fileContent = new java.io.File(Environment.getExternalStorageDirectory() + "/DCIM/Camera/" + Files[count].getName());

FileContent mediaContent = new FileContent("image/jpeg", fileContent);

com.google.api.services.drive.model.File body = new com.google.api.services.drive.model.File();

body.setTitle(fileContent.getName());
body.setMimeType("image/jpeg");

body.setParents(Arrays.asList(new ParentReference().setId(folderId)));

com.google.api.services.drive.model.File file = drive.files().insert(body, mediaContent).execute();

答案 1 :(得分:2)

folderId是Folder对象的唯一标识符,而不是像“Storage”这样的好名字。您可以使用files().list() API call检索文件夹的ID,可能使用q属性根据需要过滤返回的结果。

答案 2 :(得分:0)

Folder ID from Browser

在浏览器的Google云端硬盘中访问该文件夹ID时,该文件夹ID会显示在URL中