我想使用 python 类在嵌套的 json 树中列出谷歌驱动器文件夹和文件。
我希望结构的每个数据点都应该是对象,我想将整个脚本包装在类中
树应该是这样的
[
{
"name":<folder_name>,
"id":<folder_id>,
"type":'folder',
"children":[
{
"name":<folder_name>,
"id":<folder_id>,
"type":'folder',
"children":[
{
"name":<folder_name>,
"id":<folder_id>,
"type":'folder',
"children":[..........]
},
{
"name":<file_name>,
"id":<file_id>,
"type":'file',
}
]
},
{
"name":<file_name>,
"id":<file_id>,
"type":'file',
}
]
},
{
"name":<file_name>,
"id":<file_id>,
"type":'file',
},
......................
]
Run Code Online (Sandbox Code Playgroud)
谢谢
我正在尝试获取在父目录下创建的所有文件。父目录有很多子目录,然后是这些目录中的文件。
parent
--- sub folder1
--- file1
--- file2
Run Code Online (Sandbox Code Playgroud)
目前,我正在获取子文件夹的所有 id 并构建一个查询,例如q: 'subfolder1id' in parents 或 'subfolder2id' in parents以查找文件列表。然后我分批发出这些。如果我有 100 个文件夹,我会针对 10 个批量大小发出 10 个搜索查询。
有没有更好的方法来使用 google drive rest api 查询文件,它可以通过一个查询获得所有文件?
我正在创建一个应用程序来使用 Python 备份存储在 Google Drive 中的文件。我遇到的第一个问题是,由于某种原因,它只列出每个文件夹中最多 100 个文件。我认为我使用了正确的范围(' https://www.googleapis.com/auth/drive '),这是我用来列出文件夹内容的代码行
folder_contents = service.files().list( q="'%s' in parents" % folder['id'] ).execute()
Run Code Online (Sandbox Code Playgroud)
有什么办法可以改变列出的文件的数量吗?我在此线程中发现Google Drive List API - 未列出所有文档?有一种方法可以做到这一点,但NumberToRetrieve行不通。我尝试在 Drive API 参考网页( https://developers.google.com/drive/v2/reference/files/list )中测试它,但它给了我一个错误。当我从代码中请求列表时,我也不知道如何放置此参数(我是使用 Drive API 的新手)。
提前致谢。
编辑:我找到了一种使用该标志增加文件数量的方法MaxResuls。但它只允许列出最多 1000 个,这还不够。