python - Google Drive API 找不到任何文件夹
问题描述
我正在尝试获取我在 Google Drive(Python、Flask)中创建的文件夹列表:
SCOPES = ['https://www.googleapis.com/auth/drive']
drive_credentials = service_account.Credentials.from_service_account_file(
json_url, scopes=SCOPES)
drive_service = build('drive', 'v3', credentials = drive_credentials)
results = drive_service.files().list(
q="mimeType='application/vnd.google-apps.folder'",
spaces='drive').execute()
results.files 是一个空数组。
我不知道出了什么问题。如果我在这里尝试相同的查询https://developers.google.com/drive/api/v3/reference/files/list?apix_params=%7B%22q%22%3A%22mimeType%20%3D%20%27application% 2Fvnd.google-apps.folder%27%22%7D我看到了我所有的文件夹。
此外,如果我删除查询,我可以看到我的所有文件,但看不到文件夹。
UPD。我发现除了入门 pdf 之外,它没有看到任何其他文件。我只创建了几个测试文件,查询仍然只有一个结果。
解决方案
我发现了问题所在。即使范围提供了“完全访问权限”,但实际上并没有。只有在我允许我自己的电子邮件后,它才开始工作。
我做了什么:在谷歌驱动界面中我选择了文件夹,然后点击“共享”并输入来自凭据的电子邮件:xxx@yyy.iam.gserviceaccount.com
这很奇怪,但有效。
推荐阅读
- flutter - 为什么文档firebase中的元数据不初始化?
- node.js - 如何在没有全局的情况下安装 ember-cli 版本 1.13.11?
- pandas - 快速替换 Pandas DataFrame 中的值
- javascript - 有没有我可以使用 mongo 在节点 js 中查询下一个集合?
- regex - json schema 可以验证多个正则表达式并返回不同的错误信息吗?
- ruby-on-rails - 在 Ruby 上为哈希编写自定义方法?在铁轨上
- python - 带有属性而不是元素的 Json 到 XML
- python - Pandas 日期时间数据框
- netbeans - 如何将 eclipseLink 添加到 netbeans 12?
- ios - 如何创建 App Store 风格的导航栏