我正在使用PyDrive QuickStart脚本列出我的Google云端硬盘文件。
代码:
from pydrive.auth import GoogleAuth
from pydrive.drive import GoogleDrive
gauth = GoogleAuth()
gauth.LocalWebserverAuth()
drive = GoogleDrive(gauth)
file_list = drive.ListFile({'q': "'root' in parents and trashed=false"}).GetList()
print(file_list)
我能够正常列出我的文件,但我需要从我已经过身份验证的GoogleDrive帐户列出并管理来自其他公共驱动器URL(不是我个人认证的驱动器)的文件,就像我使用请求一样库。 任何想法怎么做?
答案 0 :(得分:5)
您需要获取文件夹ID。您可以在文件夹的URL中找到ID。一个例子是:
https://drive.google.com/open?id=0B-schRXnDFZeX0t0RnhQVXXXXXX
(id=
之后的网址部分。)
根据ID列出文件夹的内容。根据您的代码,您将file_list = ...
替换为:
file_id = '<Your folder id here.>'
file_list = drive.ListFile({'q': "'%s' in parents and trashed=false" % file_id}).GetList()
如果这不起作用,您可能需要在浏览器中打开时使用共享文件夹右上角的“添加到云端硬盘”按钮将远程文件夹添加到Google云端硬盘。
2.1在文件夹中创建文件可以这样做:
file_object = drive.CreateFile({
"parents": [{"kind": "drive#fileLink",
"id": parent_id}],
'title': file_name,
# (Only!) If the new 'file' object is going be a folder:
'mimeType': "application/vnd.google-apps.folder"
})
file_object.Upload()
如果失败,请检查您是否对该文件夹具有写入权限。
2.2删除/删除文件可以使用GitHub提供的更新版本完成:pip install instructions,Delete/Trash/UnTrash documentation
最后,如2.1所述,上传到文件夹的feature request和listing files of a folder,如2所述。 - 如果您发现上述内容不起作用,您可以将其添加为问题/ feature对存储库的请求。