You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在shinyapp.io部署读取Google Drive表格的Shiny应用报错如何解决

查看部署日志的方法

登录你的shinyapps.io账户后台,进入对应应用的管理页面,找到「Logs」标签即可查看完整的运行报错日志,可以直接定位具体错误原因。

问题修复方案

你遇到的问题由两个常见错误导致,按优先级修复即可:

  1. 代码输出ID不匹配
    你在UI中定义的输出组件ID是test_output,但服务端赋值用的是output$total,两者ID不一致,即使没有权限问题也无法正常渲染内容,先统一ID即可,比如将服务端代码修改为output$test_output <- renderText({...})。

  2. 谷歌服务云端授权缺失
    本地运行时你已经完成过googledrive、googlesheets4的账号授权,但是shinyapps.io的云端环境没有你的账号凭证,因此无法访问非公开的谷歌表格,可根据你的数据敏感性选择以下两种方案:

  • 方案1:非敏感数据场景
    直接将目标谷歌表格的共享权限设置为「所有知道链接的用户可查看」,读取时直接传入表格链接即可,无需额外授权,修改读取代码为:
df <- read_sheet("你的谷歌表格完整链接", sheet = "Desired Sheet") %>% drop_na()
  • 方案2:敏感数据场景
    使用谷歌云服务账号完成授权,步骤如下:
    • 在谷歌云控制台创建服务账号,下载JSON格式的密钥文件,存放到你的Shiny应用根目录
    • 给该服务账号对应的邮箱地址授予目标谷歌表格的「查看者」权限
    • 在代码加载包之后增加授权逻辑:
    drive_auth(path = "你的服务账号密钥文件名.json")
    gs4_auth(path = "你的服务账号密钥文件名.json")
    
    • 部署时确认密钥文件被一同上传到shinyapps.io即可。

部署校验

部署前可以在本地先运行rsconnect::listBundleFiles()检查待上传的文件列表,确认依赖文件没有遗漏,再执行部署操作。

内容的提问来源于stack exchange,提问作者Barkas

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 23:24:05