Ton*_*oni 5 python google-drive-api
从这个例子.我可以使用MediafileUpload创建文件夹吗?我如何从中获取parent_id?
来自https://developers.google.com/drive/folder
我只知道我应该使用mime ="application/vnd.google-apps.folder"但是如何实现本教程以用Python编程?
谢谢你的建议.
Cia*_*ian 17
要在云端硬盘上创建文件夹,请尝试:
def createRemoteFolder(self, folderName, parentID = None):
# Create a folder on Drive, returns the newely created folders ID
body = {
'title': folderName,
'mimeType': "application/vnd.google-apps.folder"
}
if parentID:
body['parents'] = [{'id': parentID}]
root_folder = drive_service.files().insert(body = body).execute()
return root_folder['id']
Run Code Online (Sandbox Code Playgroud)
如果要在另一个文件夹中创建文件夹,则此处只需要父ID,否则只是不传递任何值.
如果您需要父ID,则需要编写一种方法来搜索Drive以查找该位置具有该父名称的文件夹(执行list()调用),然后获取该文件夹的ID.
编辑:请注意,API的v3使用"父项"字段的列表,而不是字典.此外,'title'字段更改为'name',并将insert()方法更改为create().对于v3,上面的代码将更改为以下代码:
def createRemoteFolder(self, folderName, parentID = None):
# Create a folder on Drive, returns the newely created folders ID
body = {
'name': folderName,
'mimeType': "application/vnd.google-apps.folder"
}
if parentID:
body['parents'] = [parentID]
root_folder = drive_service.files().create(body = body).execute()
return root_folder['id']
Run Code Online (Sandbox Code Playgroud)
仅当您想插入内容时才需要上传媒体文件。由于您只想插入元数据(文件夹只是元数据),因此不需要它。带有代表源的 JSON 的常规 POST 就足够了。
您可以通过多种方式获取家长 ID:
https://drive.google.com/#folders/0B8VrsrGIcVbrRDVxMXFWVkdfejQ0B8VrsrGIcVbrRDVxMXFWVkdfejQ如何以编程方式获取 FileID:
root您云端硬盘的根文件夹。使用 3. 和 1.,您可以获得 Drive 的所有 fileId。
我不知道怎样才能更清楚
| 归档时间: |
|
| 查看次数: |
8284 次 |
| 最近记录: |