通过 Google Drive API 请求访问 Google 表格文件

聖光之護
发布: 2025-10-21 14:05:00
原创
842人浏览过

通过 google drive api 请求访问 google 表格文件

本文档旨在帮助开发者解决在使用 Google Drive API 请求访问 Google 表格文件时遇到的 "File not found" 错误。我们将深入分析问题原因,并提供详细的解决方案,包括如何正确使用文件 ID 以及注意事项,确保您能成功通过 API 管理 Google 表格文件的访问权限。

在使用 Google Drive API 尝试请求访问 Google 表格文件时,可能会遇到 "File not found" 错误,即使通过浏览器可以正常访问该文件并看到权限请求提示。 这种问题通常是由于在 API 请求中使用了错误的 fileId 导致的。 常见的错误是将整个 Google 表格的 URL 当作 fileId 传递给 API。

问题分析:

API 报错信息:

{'message': 'File not found: https://docs.google.com/spreadsheets/d/1u...4bcSqdgc/edit#gid=0.', 'domain': 'global', 'reason': 'notFound', 'location': 'fileId', 'locationType': 'parameter'}
登录后复制

错误信息表明 API 无法找到指定的 fileId。 这通常意味着您传递的 fileId 不是 Google Drive API 期望的格式。

解决方案:

正确的做法是使用 Google 表格的 ID 作为 fileId。 表格 ID 是 URL 中 d/ 和 /edit 之间的字符串。

例如,如果 Google 表格的 URL 是:

Google AI Studio
Google AI Studio

Google 推出的基于浏览器的集成开发环境

Google AI Studio 107
查看详情 Google AI Studio
https://docs.google.com/spreadsheets/d/1u...4bcSqdgc/edit#gid=0
登录后复制

那么,正确的 fileId 应该是:

1u...4bcSqdgc
登录后复制

代码示例:

修改您的代码,将 file_url 变量的值更改为正确的 Google 表格 ID。

drive_service = build('drive', 'v3', credentials=g.gcreds_scoped)

permission_request = { 'role': 'writer', 'type': 'anyone', 'allowFileDiscovery': False }

sheets_service = build('sheets', 'v4', credentials=g.gcreds_scoped)

# 确保 file_url 变量包含正确的 Google 表格 ID
file_id = "1u...4bcSqdgc" # 替换为您的表格 ID

request = drive_service.permissions().create(body=permission_request, fileId=file_id, supportsAllDrives=True, fields='id')

response = request.execute()
登录后复制

注意事项:

  1. 客户端访问权限: 请确保您的 drive_service 客户端具有访问该 Google 表格的权限。 如果客户端本身没有权限,即使修改了 fileId,也无法成功更改表格的权限。 如果在浏览器中看到 "请输入消息并发布访问请求" 的提示,则表明您当前的客户端没有权限。
  2. API 启用: 检查您是否在 Google Cloud Console 中启用了必要的 API,例如 Google Drive API 和 Google Sheets API。
  3. 权限范围: 确保您的凭据具有足够的权限范围来执行此操作。 通常,您需要 https://www.googleapis.com/auth/drive 或 https://www.googleapis.com/auth/drive.file 范围。
  4. supportsAllDrives 参数: 如果您正在处理共享云端硬盘中的文件,请确保设置 supportsAllDrives=True。

总结:

在使用 Google Drive API 请求访问 Google 表格文件时,确保使用正确的 Google 表格 ID 作为 fileId。 检查您的客户端是否具有访问权限,并确保已启用必要的 API 和权限范围。 遵循这些步骤,您应该能够成功通过 API 管理 Google 表格文件的访问权限。

参考资料:

以上就是通过 Google Drive API 请求访问 Google 表格文件的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号