2

我正在尝试使用 Python Google Drive API 为文件构建远程路径。给定一个路径,比如 /folderA/FolderB/folderC/theFile.txt 我想在驱动器上创建文件夹 A,然后在其中创建文件夹 B,然后在 B 中创建文件夹 C,然后再将文件上传到文件夹 C。

我有一个短循环:

currentParent = pathStartID
for aFolder in pathArray:
    thisFoldersID = self.createRemoteFolder(aFolder, parentID = currentParent)
    currentParent = thisFoldersID

我首先在驱动器根目录中创建文件夹 A,文件夹 A 的 ID 是“pathStartID”。pathArray 包含文件夹 B 和文件夹 C 的名称。

createRemoteFolder()

看起来像这样:

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['parentsCollection'] = [{'id': parentID}]
        root_folder = driveFileMan.client.files().insert(body = body).execute()
    return root_folder['id']

但由于某种原因,每个文件夹都是在 Google Drive 的根目录中创建的,而不是像我想要的那样在父文件夹中创建。

谁能发现我做错了什么?或者有没有更简单的方法来做到这一点?

4

1 回答 1

1

看起来只是设置父级的错误属性名称。尝试:

body['parents'] = [{'id': parentID}]
于 2013-03-11T19:07:46.053 回答