我正在尝试以编程方式获取google驱动器中的文件夹名称,并在文件夹中创建一个文件夹,但没有办法。
我已阅读此文档:
但是如何获取特定文件夹并在其中创建另一个文件夹?。程序设计,不是助理。
确定。我需要更新位图到谷歌驱动器。我尝试使用此代码,但无法正常工作
String IdFolder = (String) objects[0];
Bitmap bitmapUpload = (Bitmap) objects[1];
File fileMetadata = new File();
fileMetadata.setTitle("photo.jpg");
fileMetadata.setParents(Collections.singletonList(new ParentReference().setId(IdFolder)));
File file = mService.files().insert(fileMetadata, bitmapUpload)
.setFields("id, parents")
.execute();
System.out.println("File ID: " + file.getId());
我试过这个:
String IdFolder = (String) objects[0];
Bitmap bitmapUpload = (Bitmap) objects[1];
int byteSize = bitmapUpload.getRowBytes() * bitmapUpload.getHeight();
ByteBuffer byteBuffer = ByteBuffer.allocate(byteSize);
bitmap.copyPixelsToBuffer(byteBuffer);
byte[] byteArray = byteBuffer.array();
ByteArrayInputStream bs = new ByteArrayInputStream(byteArray);
File fileMetadata = new File();
fileMetadata.setTitle("photo.jpg");
fileMetadata.setParents(Collections.singletonList(new ParentReference().setId(IdFolder)));
File file = mService.files().insert(fileMetadata, bs)
.setFields("id, parents")
.execute();
System.out.println("File ID: " + file.getId());
但不起作用。刚说:
com.google.api.client.http.abstract inputstreamcontent
?¿?
答案 0 :(得分:3)
我试图制作一个python函数,您可以按照自己的方式使用它。
def create_folder_in_folder(folder_name,parent_folder_id):
file_metadata = {
'name' : folder_name,
'parents' : [folder_id],
'mimeType' : 'application/vnd.google-apps.folder'
}
file = drive_service.files().create(body=file_metadata,
fields='id').execute()
print ('Folder ID: %s' % file.get('id'))
编辑建议 @Jeremy Caney
因此,此函数将要保留的特定文件夹的父ID作为要在其中创建另一个文件夹的父文件夹。另一个是子文件夹名称。
现在,在这里
file_metadata = {
'name' : folder_name,
'parents' : [folder_id],
'mimeType' : 'application/vnd.google-apps.folder'
}
此父ID作为parent
参数,在MIME类型中,您要告诉Google服务器在父ID parents
中创建文件夹类型的文件,其中name
参数描述名称的文件夹。您可以查看Google here提供的MIME类型,以供将来的代码参考
现在
file = drive_service.files().create(body=file_metadata,
fields='id').execute()
此行仅将请求发送到服务器以执行操作,其中文件对象包含JSON格式的响应。
Here是我使用终端本身做所有必要选项的工具,通常在google drive的网站上进行操作,您可以阅读此作为参考。
希望这会有所帮助。
答案 1 :(得分:1)
要做的第一件事是确保您的凭据有效。要向驱动器API发出请求,请按照quickstart of the documentation中指定的说明进行操作(假设您将使用android)。然后你可以work with folders基于文档。另请注意,创建文件夹时也可以使用this.newUser.photo_preview
属性来创建子文件夹。希望这会有所帮助。