Google Drive 文件夹 ID

5 投票
1 回答
5603 浏览
提问于 2025-04-17 18:18

我有一个文件夹路径,比如说 /docs/word,我想要获取“word”这个文件夹的ID(也就是最后一个文件夹的ID),这样我才能把文件上传到那里。我该怎么获取这个ID呢?

1 个回答

5

我搞明白了。你需要做的是获取根目录的ID,方法是用 drive_service.about().get().execute()["rootFolderId"]。然后你可以获取根目录里的文件,接着再进入路径中的下一个文件夹,依此类推。顺便说一下,我写了一个函数,可以列出路径里面的文件夹,并把它们保存到一个字典里(使用 self.addPath())。

def listFolders(self, path):
    fId = self.getPathId(path) #get the id of the parent folder
    files = self.drive_service.children().list(folderId=fId).execute() #Request children
    files = files["items"] #All of the items in the folder

    folders = []
    for i in range(len(files)):
        sId = files[i]["id"]
        sFile = self.drive_service.files().get(fileId=sId).execute()
        if sFile["labels"]["trashed"] == False and sFile["mimeType"] == "application/vnd.google-apps.folder":
            self.addPath(path+sFile["title"]+"/", sFile["id"])
            folders.append(sFile["title"])
    return folders

撰写回答