使用 PyDrive 列出共享 Google Team Drive 文件夹中的所有文件

List all files in folder in shared Google Team Drive using PyDrive

我正在尝试使用 PyDrive 获取 Google 驱动器文件夹中所有文件 ID 的列表。当我在我的驱动器中的文件夹中使用它时,我的查询有效,但当我尝试在共享 Google 团队驱动器中的文件夹中使用它时,它不起作用。

file_list = drive.ListFile({'q': "'folder_id_goes_here' in parents"}).GetList()

我尝试添加 'team_drive_id' = team_drive_id_goes_here 和 'supports_team_drive' = True 等参数,但我不确定是否正确添加了这些参数。

team_drive_id = 'team_drive_id_goes_here'

file_list = drive.ListFile({
     'q': "'folder_id_goes_here' in parents",
     'supportsTeamDrives': True,
     'teamDriveId' = team_drive_id
}).GetList()

当我将这些参数添加到 ListFile 函数时,我最终收到 'googleapiclient.errors.HttpError: <HttpError 403' 错误。

有谁知道如何修改此查询以使用共享团队驱动器中的文件夹?

我想提出以下修改。

发件人:

team_drive_id = 'team_drive_id_goes_here'
file_list = drive.ListFile({
     'q': "'folder_id_goes_here' in parents",
     'supportsTeamDrives': True,
     'teamDriveId' = team_drive_id
}).GetList()

收件人:

team_drive_id = 'team_drive_id_goes_here'
file_list = drive.ListFile({
    'q': "'folder_id_goes_here' in parents",
    'supportsAllDrives': True,  # Modified
    'driveId': team_drive_id,  # Modified
    'includeItemsFromAllDrives': True,  # Added
    'corpora': 'drive'  # Added
}).GetList()

file_list = drive.ListFile({
    'q': "'folder_id_goes_here' in parents",
    'supportsAllDrives': True,  # Modified
    'includeItemsFromAllDrives': True,  # Added
}).GetList()

注:

  • The official documentincludeTeamDriveItemsteamDriveIdWarning: This item is deprecated.。所以在这种情况下,请分别使用includeItemsFromAllDrivesdriveId

参考: