Notice: Undefined index: in /data/phpspider/phplib/misc.function.php on line 226
Google drive api GoogleDrive API-如何在python中从文件中获取文件夹层次结构_Google Drive Api - Fatal编程技术网

Google drive api GoogleDrive API-如何在python中从文件中获取文件夹层次结构

Google drive api GoogleDrive API-如何在python中从文件中获取文件夹层次结构,google-drive-api,Google Drive Api,我使用以下代码获取驱动器中的所有文件 files_list = service_v3.files().list(corpora='drive', supportsAllDrives=True, includeItemsFromAllDrives=True, driveId=dr

我使用以下代码获取驱动器中的所有文件

files_list = service_v3.files().list(corpora='drive',
                                     supportsAllDrives=True,
                                     includeItemsFromAllDrives=True,
                                     driveId=drive['id'],
                                     spaces='drive',
                                     fields='*').execute()
现在,在每个文件中,我都有一个父文件:

files_list[0]['parents']
如何获取有关此家长的数据

我试着用

service_v2.parents().list(fileId='xxx')
但它不会返回太多数据。

您需要执行三个步骤:
  • 列出所有感兴趣的文件-正如您已经在使用
    文件\u List=service\u v3.files().List所做的那样
  • 循环浏览列表结果或选择某个文件(正如您使用
    文件\u列表[0]
    )并检索其父文件(正如您所做的),例如
    父文件=文件\u列表[0]。获取('parents')
  • 使用方法
    service_v3.files().get(fileId=parents[0],fields=“*”).execute()
    按父项的Id检索有关父项的信息
  • 我建议您使用和方法的TryItAPI,以便更好地了解这些方法提供的结果


    另外,请注意
    service_v2.parents().list(fileId='xxx')
    正在使用旧版本的驱动器API(v2),并且在任何情况下-如果您想要检索具有指定ID的文件,正确的方法是
    get
    而不是
    list

    ,谢谢您的详细回答!实际上,我注意到
    files.list()
    方法返回单个列表中的文件夹和文件,然后您可以通过查看
    mimeType
    (文件夹中的
    mimeType=application/vnd.google apps.folder
    )来区分。是的,您确实可以。列出结果时,可以执行搜索查询
    q
    ,以仅列出所需mimeType的文件。