Fir*_*ser 1 android google-drive-android-api
我试图以编程方式获取我的谷歌驱动器中的文件夹名称,并在文件夹内创建一个文件夹,但没有办法。
\n\n我已经查看了这个文档:
\n\n\n\n但如何获取特定文件夹并在其中创建另一个文件夹?以编程方式,而不是通过助手。
\n\n好的。我需要将位图更新到谷歌驱动器。我尝试使用这段代码但不起作用
\n\n String IdFolder = (String) objects[0];\n Bitmap bitmapUpload = (Bitmap) objects[1];\n\n File fileMetadata = new File();\n fileMetadata.setTitle("photo.jpg");\n fileMetadata.setParents(Collections.singletonList(new ParentReference().setId(IdFolder)));\n\n File file = mService.files().insert(fileMetadata, bitmapUpload)\n .setFields("id, parents")\n .execute();\n System.out.println("File ID: " + file.getId());\nRun Code Online (Sandbox Code Playgroud)\n\n我已经尝试过这个:
\n\n String IdFolder = (String) objects[0];\n Bitmap bitmapUpload = (Bitmap) objects[1];\n\n int byteSize = bitmapUpload.getRowBytes() * bitmapUpload.getHeight();\n ByteBuffer byteBuffer = ByteBuffer.allocate(byteSize);\n bitmap.copyPixelsToBuffer(byteBuffer);\n\n\n byte[] byteArray = byteBuffer.array();\n\n\n ByteArrayInputStream bs = new ByteArrayInputStream(byteArray);\n\n File fileMetadata = new File();\n fileMetadata.setTitle("photo.jpg");\n fileMetadata.setParents(Collections.singletonList(new ParentReference().setId(IdFolder)));\n\n File file = mService.files().insert(fileMetadata, bs)\n .setFields("id, parents")\n .execute();\n System.out.println("File ID: " + file.getId());\nRun Code Online (Sandbox Code Playgroud)\n\n但不起作用。刚说:
\n\ncom.google.api.client.http.abstract inputstreamcontent
\n\n?\xc2\xbf?
\n我尝试制作一个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'))
Run Code Online (Sandbox Code Playgroud)
由@Jeremy Caney建议的编辑
因此,此函数需要输入特定文件夹的父 ID,您希望将其保留为要在其中创建另一个文件夹的父文件夹。其他是子文件夹名称。
现在,这里
file_metadata = {
'name' : folder_name,
'parents' : [folder_id],
'mimeType' : 'application/vnd.google-apps.folder'
}
Run Code Online (Sandbox Code Playgroud)
将此父 id 作为parent参数,在 MIME 类型中,您告诉 google 服务器在父 id 中创建文件夹类型的文件parents,其中name参数描述文件夹的名称。你可以在这里查看google提供的MIME类型,以供你以后的代码参考
现在
file = drive_service.files().create(body=file_metadata,
fields='id').execute()
Run Code Online (Sandbox Code Playgroud)
该行只是将请求发送到服务器以执行操作,其中文件对象包含 JSON 格式的响应。
这是我制作的工具,用于使用终端本身执行所有必要的选项,您通常在谷歌驱动器的网站上执行此操作,您可以将其阅读作为参考。
希望这会有所帮助。
| 归档时间: |
|
| 查看次数: |
20325 次 |
| 最近记录: |