Google Drive 文件夹 ID
我有一个文件夹路径,比如说 /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