在R中使用googlesheets4读取谷歌表格指定工作表报错求助
错误原因分析
出现400 FAILED_PRECONDITION错误,大概率是以下几种情况之一:
- 权限问题:你指定的邮箱没有该谷歌表格的访问权限,或者表格是私有状态且未共享给该邮箱。
- 文档类型错误:输入的URL对应的不是谷歌表格(Google Sheets),而是谷歌表单、文档等其他类型,googlesheets4仅支持读取谷歌表格。
- 文档状态异常:表格处于锁定状态、被设置了API访问限制,或是当前有其他操作导致文档无法被读取。
- 工作表名称错误:虽然代码里用引号包裹了名称,但可能存在拼写错误、大小写不匹配的情况。
正确读取指定工作表的方法
你的代码写法本身是合规的,但需要注意以下细节来确保成功读取:
- 确认链接/表格ID正确
可以直接使用表格ID替代完整URL,表格ID是链接中d/和/edit之间的字符串,比如:mydata8 <- read_sheet(id = "你的表格ID", sheet = "worked hours per month") - 工作表的指定方式
- 用名称:确保名称完全匹配(包括空格、大小写、特殊字符),比如工作表名是
Worked Hours Per Month就不能写成小写。 - 用索引:如果不确定名称,也可以用工作表的位置索引(从1开始),比如读取第二个工作表:
mydata8 <- read_sheet("表格URL/ID", sheet = 2)
- 用名称:确保名称完全匹配(包括空格、大小写、特殊字符),比如工作表名是
- 认证与权限检查
- 确认
gs4_auth(email = "你的邮箱")中的邮箱已获得表格的访问权限,私有表格必须共享给该邮箱。 - 如果是公共可访问的表格,可以跳过认证,使用:
gs4_deauth() mydata8 <- read_sheet("表格URL/ID", sheet = "工作表名")
- 确认
内容的提问来源于stack exchange,提问作者Диана
相关产品推荐
相关产品推荐

