R使用googlesheets4操作Google Sheets突然无法获取凭据报错求助
问题根因
你遇到的ReadItem: unknown type 50, perhaps written by later version of R是R读取序列化缓存文件的典型报错:gargle本地存储的OAuth认证令牌文件损坏,或者是由更高版本的R序列化生成,当前R版本无法解析,才会导致整个认证流程中断。
解决步骤
- 第一步:定位gargle认证缓存路径
运行以下代码即可获取缓存目录:
如果运行上述代码仍然报错,可直接查找系统默认缓存路径:library(gargle) gargle_oauth_cache()- Windows:
C:\Users\[你的系统用户名]\AppData\Local\gargle\gargle\Cache - macOS/Linux:
~/.cache/gargle
另外也可以检查当前R工作目录下是否存在名为.gargle的隐藏缓存文件夹。
- Windows:
- 第二步:删除缓存目录内的所有文件
这些文件都是过往存储的认证令牌,删除不会影响R或其他包的正常运行,仅会清除已失效的认证信息。 - 第三步:重新走认证流程
重启R会话后运行常规认证代码即可:
在弹出的浏览器窗口完成谷歌账号授权即可恢复正常读写功能。library(googlesheets4) gs4_auth('你的邮箱地址')
可选应急方案:如果临时不想处理缓存,可在认证时添加
cache = FALSE参数,强制跳过本地缓存直接走授权流程:gs4_auth('你的邮箱地址', cache = FALSE)
内容的提问来源于stack exchange,提问作者Anca
相关产品推荐
相关产品推荐

