为什么 Google API V3 不返回子级?

时间:2023-01-25
本文介绍了为什么 Google API V3 不返回子级?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

问题描述

我想使用 Python 获取 Google Drive 中给定文件夹中所有文件/文件夹的列表.我正在使用的电话是这样的:

I want to use Python to get a list of all the files/folders in a given folder in Google Drive. The call I'm using is this:

query = parentID + " in parents"

response = service.files().list(q=query,
                                spaces='drive',
                                fields='files(id, name, parents)').execute()

根据搜索文件文档和迁移到 v3 文档,我应该做的正确.但是当我运行代码时,出现以下错误:

According to the search for files documentation and the migrating to v3 documentation, I should be doing it correctly. But when I run the code, I get the following error:

<HttpError 400 when requesting https://www.googleapis.com/drive/v3/files?q=[MY_PARENT_ID]+in+parents&spaces=drive&alt=json&fields=files%28id%2C+name%2C+parents%29 returned "Invalid Value">

我的查询出了什么问题,我该如何正确调用它?

What is wrong with my query and how would I call this correctly?

推荐答案

试了15个小时,找到了这个解决方案:

After trying for some 15 hours, found this solution:

只需改变 query 变量如下假设父 id 是 '0B_hg54vjh34v5jh23gv5i2v35th2gv35v235kjvk'

just change the query variable as follows suppose parent id is '0B_hg54vjh34v5jh23gv5i2v35th2gv35v235kjvk'

query="'0B_hg54vjh34v5jh23gv5i2v35th2gv35v235kjvk' in parents"

现在,它应该可以工作了.

now, it should work.

即使你交换单引号和双引号它也应该工作..你使用的结果是 query="0B_hg54vjh34v5jh23gv5i2v35th2gv35v235kjvk in parents" 而我们需要的是 query="'0B_hg54vjh34v5jh23gv5i2v35th2gv35v235kjvk'在父母中"

it should work even if you interchange single and double quotes..what you were using results into query="0B_hg54vjh34v5jh23gv5i2v35th2gv35v235kjvk in parents" while what we need is query="'0B_hg54vjh34v5jh23gv5i2v35th2gv35v235kjvk' in parents"

另一种做法是:

parentId='0B_hg54vjh34v5jh23gv5i2v35th2gv35v235kjvk'
query="'" + "' in parents"

为什么会这样:-
如果您正确查看输出错误,它有一个如下所示的 http 链接:
https://www.googleapis.com/drive/v3/files?q=0B_hg54vjh34v5jh23gv5i2v35th2gv35v235kjvk+in+parents&spaces=drive&alt=json&fields=files%28id%2C+name%2C+parents%29


但所需的 Id 周围有单引号,如下所示:
https://www.googleapis.com/drive/v3/files?q='0B_hg54vjh34v5jh23gv5i2v35th2gv35v235kjvk'+in+parents&spaces=drive&alt=json&fields=files%28id%2C+name%2C+parents%29

这篇关于为什么 Google API V3 不返回子级?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

上一篇:如何使用 Python 脚本将文件上传到 Google Drive? 下一篇:如何从 Python 3(或 2)将 Google 表格文件保存为 CSV?

相关文章

最新文章