我想使用 Python 获取 Google Drive 中给定文件夹中的所有文件/文件夹的列表。我正在使用的调用是这样的:
query = parentID + " in parents"
response = service.files().list(q=query,
spaces='drive',
fields='files(id, name, parents)').execute()
根据搜索文件文档和迁移到 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' 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
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)