0

0

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

聖光之護

聖光之護

发布时间:2025-10-21 14:05:00

|

855人浏览过

|

来源于php中文网

原创

通过 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 是:

Question AI
Question AI

一款基于大模型的免费的AI问答助手、总结器、AI搜索引擎

下载
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 表格文件的访问权限。

参考资料:

相关专题

更多
js 字符串转数组
js 字符串转数组

js字符串转数组的方法:1、使用“split()”方法;2、使用“Array.from()”方法;3、使用for循环遍历;4、使用“Array.split()”方法。本专题为大家提供js字符串转数组的相关的文章、下载、课程内容,供大家免费下载体验。

257

2023.08.03

js截取字符串的方法
js截取字符串的方法

js截取字符串的方法有substring()方法、substr()方法、slice()方法、split()方法和slice()方法。本专题为大家提供字符串相关的文章、下载、课程内容,供大家免费下载体验。

208

2023.09.04

java基础知识汇总
java基础知识汇总

java基础知识有Java的历史和特点、Java的开发环境、Java的基本数据类型、变量和常量、运算符和表达式、控制语句、数组和字符串等等知识点。想要知道更多关于java基础知识的朋友,请阅读本专题下面的的有关文章,欢迎大家来php中文网学习。

1465

2023.10.24

字符串介绍
字符串介绍

字符串是一种数据类型,它可以是任何文本,包括字母、数字、符号等。字符串可以由不同的字符组成,例如空格、标点符号、数字等。在编程中,字符串通常用引号括起来,如单引号、双引号或反引号。想了解更多字符串的相关内容,可以阅读本专题下面的文章。

619

2023.11.24

java读取文件转成字符串的方法
java读取文件转成字符串的方法

Java8引入了新的文件I/O API,使用java.nio.file.Files类读取文件内容更加方便。对于较旧版本的Java,可以使用java.io.FileReader和java.io.BufferedReader来读取文件。在这些方法中,你需要将文件路径替换为你的实际文件路径,并且可能需要处理可能的IOException异常。想了解更多java的相关内容,可以阅读本专题下面的文章。

550

2024.03.22

php中定义字符串的方式
php中定义字符串的方式

php中定义字符串的方式:单引号;双引号;heredoc语法等等。想了解更多字符串的相关内容,可以阅读本专题下面的文章。

545

2024.04.29

go语言字符串相关教程
go语言字符串相关教程

本专题整合了go语言字符串相关教程,阅读专题下面的文章了解更多详细内容。

161

2025.07.29

c++字符串相关教程
c++字符串相关教程

本专题整合了c++字符串相关教程,阅读专题下面的文章了解更多详细内容。

81

2025.08.07

高德地图升级方法汇总
高德地图升级方法汇总

本专题整合了高德地图升级相关教程,阅读专题下面的文章了解更多详细内容。

2

2026.01.16

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Go 教程
Go 教程

共32课时 | 3.8万人学习

Go语言实战之 GraphQL
Go语言实战之 GraphQL

共10课时 | 0.8万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

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