如何使用 PyDrive 访问团队云端硬盘而不是个人 Google 云端硬盘?

I Z*_*I Z 3 google-drive-api pydrive google-drive-shared-drive

我正在尝试使用 PyDrive 以编程方式列出并下载存储在我可以在浏览器中访问的团队驱动器上的文件。当我这样做时:

from pydrive.auth import GoogleAuth
from pydrive.drive import GoogleDrive

gauth = GoogleAuth()
drive = GoogleDrive(gauth)

file_list = drive.ListFile(
    {
        'q': "'root' in parents and trashed=false",
        'corpora': "teamDrive",
        'teamDriveId': <team drive ID>,
        'includeTeamDriveItems': "true",
        'supportsTeamDrives': "true"
    }
).GetList()
for file1 in file_list:
    print('title: %s, id: %s' % (file1['title'], file1['id']))
Run Code Online (Sandbox Code Playgroud)

我只得到我个人驱动器上的文件列表,而不是团队驱动器。我究竟做错了什么?

注意1:<team drive ID>通过在浏览器中打开团队驱动器(根文件夹)并复制“ https://drive.google.com/drive/folders/ ”之后的所有内容来获得

注2:浏览器弹出drive.ListFile并给出Authentication successful.

Cli*_*iff 5

在团队驱动器中,文件只能有一个父文件夹,并且团队驱动器文件的父文件夹永远不会是 root。

我能够再次使用驱动器 id 而不是 root 来使其工作,但我也使用布尔值作为 true 而不是字符串:

drive.ListFile({'q':"'<Team_Drive_Id_Or_Folder_Id>' in parents and trashed=false", 'corpora': 'teamDrive', 'teamDriveId': '<Team_Drive_Id>', 'includeTeamDriveItems': True, 'supportsTeamDrives': True}).GetList()
Run Code Online (Sandbox Code Playgroud)