通过 Google 驱动器 API 在 python 中使用 ID 搜索文件夹
Search a folder using ID via Google Drive API in python
我正在使用 Google 驱动器的 API 使用 python 创建和搜索文件和文件夹 3. 使用 files.list
方法搜索文件夹开车 API。每次搜索都需要一个查询 q
作为输入。给出了一些查询示例here。我可以使用下面给出的名称成功搜索名为 hello 的文件夹:
service.files().list(q="name = 'hello'", pageSize=10, fields=files(id, name)).execute()
现在,假设文件夹的 ID 是 123,那么如何使用 ID 而不是名称来搜索此文件夹。我试过用 id = '123'
和 id = 123
替换 q
,但 none 似乎有效。我能找到的最接近的查询 here 是:
q = "'123' in parents"
但是这将return所有其父文件夹是我们要查找的文件夹的文件。
有什么方法可以直接通过ID搜索文件夹或文件吗?
谢谢。
我相信你的目标如下。
- 您想使用 python 的 googleapis 通过文件夹 ID Drive API 检索文件夹元数据。
在这种情况下,下面的示例脚本怎么样?
folderId = "###" # Please set the folder ID.
res = service.files().get(fileId=folderId, fields="id, name").execute()
- 在这种情况下,使用“文件:获取”方法。
附加信息:
如果要检索特定文件夹下的文件夹列表,可以使用以下修改后的搜索查询。
q = "'123' in parents and mimeType='application/vnd.google-apps.folder'"
- 在这种情况下,
123
是顶级文件夹 ID。
- 在此修改中,给出了检索到的 mimeType。这样,只能检索文件夹列表。
如果要检索除文件夹以外的文件列表,还可以使用以下搜索查询。
q = "'123' in parents and not mimeType='application/vnd.google-apps.folder'"
如果要从文件夹名称中检索文件夹 ID,可以使用以下示例脚本。在这种情况下,当存在 hello
的相同文件夹名称时,将返回这些文件夹。
res = service.files().list(q="name = 'hello' and mimeType='application/vnd.google-apps.folder'", pageSize=10, fields="files(id, name)").execute()
注:
- 在您的展示脚本中,请将
service.files().list(q="name = 'hello'", pageSize=10, fields=files(id, name)).execute()
的 fields=files(id, name)
修改为 fields="files(id, name)"
。
参考文献:
我正在使用 Google 驱动器的 API 使用 python 创建和搜索文件和文件夹 3. 使用 files.list
方法搜索文件夹开车 API。每次搜索都需要一个查询 q
作为输入。给出了一些查询示例here。我可以使用下面给出的名称成功搜索名为 hello 的文件夹:
service.files().list(q="name = 'hello'", pageSize=10, fields=files(id, name)).execute()
现在,假设文件夹的 ID 是 123,那么如何使用 ID 而不是名称来搜索此文件夹。我试过用 id = '123'
和 id = 123
替换 q
,但 none 似乎有效。我能找到的最接近的查询 here 是:
q = "'123' in parents"
但是这将return所有其父文件夹是我们要查找的文件夹的文件。
有什么方法可以直接通过ID搜索文件夹或文件吗?
谢谢。
我相信你的目标如下。
- 您想使用 python 的 googleapis 通过文件夹 ID Drive API 检索文件夹元数据。
在这种情况下,下面的示例脚本怎么样?
folderId = "###" # Please set the folder ID.
res = service.files().get(fileId=folderId, fields="id, name").execute()
- 在这种情况下,使用“文件:获取”方法。
附加信息:
如果要检索特定文件夹下的文件夹列表,可以使用以下修改后的搜索查询。
q = "'123' in parents and mimeType='application/vnd.google-apps.folder'"
- 在这种情况下,
123
是顶级文件夹 ID。 - 在此修改中,给出了检索到的 mimeType。这样,只能检索文件夹列表。
- 在这种情况下,
如果要检索除文件夹以外的文件列表,还可以使用以下搜索查询。
q = "'123' in parents and not mimeType='application/vnd.google-apps.folder'"
如果要从文件夹名称中检索文件夹 ID,可以使用以下示例脚本。在这种情况下,当存在
hello
的相同文件夹名称时,将返回这些文件夹。res = service.files().list(q="name = 'hello' and mimeType='application/vnd.google-apps.folder'", pageSize=10, fields="files(id, name)").execute()
注:
- 在您的展示脚本中,请将
service.files().list(q="name = 'hello'", pageSize=10, fields=files(id, name)).execute()
的fields=files(id, name)
修改为fields="files(id, name)"
。