python - 为什么 Google API V3 不返回 child ?

标签 python google-api google-drive-api google-api-python-client http-error

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

query = parentID + " in parents"

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

根据search for files文档和 migrating to v3文档,我应该正确地做。但是当我运行代码时,出现以下错误:

<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">

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

最佳答案

尝试了大约 15 个小时后,找到了这个解决方案:

只需按如下方式更改query 变量 假设父 ID 是 '0B_hg54vjh34v5jh23gv5i2v35th2gv35v235kjvk'

query="'0B_hg54vjh34v5jh23gv5i2v35th2gv35v235kjvk' in parents"

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

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

另一种方法是:

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/p>


但所需的 ID 在 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

关于python - 为什么 Google API V3 不返回 child ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36874223/

相关文章:

android - Azure Google 身份验证获取用户个人资料信息

javascript - javascript 中的 Google API 客户端库无法在本地运行

google-apps-script - 如何在文件夹中创建文件?

python - 将 numpy 多项式拟合到噪声数据

python - 反射(reflect) QPixmap

typescript - 如何将 Typescript 类型与 googleapis 一起使用(特别是使用drive_v3时的文件类型)

google-api - 谷歌驱动 API v3 : there isn't any way to get a download url for a google document?

google-drive-api - 云端硬盘文档的部分下载

python - Kivy文本输入和输出

python - 如何从Excel获取字典的多个键和单个值