问题标签 [r-googlesheets]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1031 浏览

r - 如何在 Shinyapps.io 上为 Google Sheets (googlesheets) 验证 Shiny 应用程序的用户

我有一个使用该软件包的 Shiny 应用程序,该googlesheets软件包要求用户进行身份验证以写入 Google 表格(尽管表格是公开的并“发布到网络”)。这是在浏览器中以图形方式完成的,并在 Shiny 应用程序在本地运行时工作。但是,当部署在 shinyapps.io 上时,身份验证调用会使应用程序崩溃并记录错误:

警告:错误:oauth_listener() 需要交互式环境。

那么,有哪些选择呢?我认为将我自己的.httr-oauth文件或令牌上传到 shinyapps.io 是个坏主意……有什么解决方法吗?

0 投票
2 回答
584 浏览

r - Shinyapps 与服务器断开连接,可能超过 excel 文件的内存限制

我创建了一个shinyapp显示来自 10,000 次试验的蒙特卡罗模拟的输出数据。该模拟是一个包含 238 支球队的整个足球赛季,在每次试验中跟踪每支球队的 7 个变量(16.66+ 百万个数据点)。模拟数据存储在 Excel 文件中。

当我尝试从 运行应用程序时shinyapps.ioui.R负载很好,包括一小部分 excel 表(selectInput()命令中的团队名称)。server.R该应用程序总是在任何加载之前崩溃(我的所有read_excel()命令都在我的server.R.处理起来很大shiny。我将每个变量存储在 excel 中的单独工作表上,read_excel()每个工作表都有不同的命令。我能够获得应用程序的一个版本,仅存储 7 个不同跟踪变量中的 2 个,以便在以下情况下正常工作从单独的选项卡访问数据。当我尝试从单个选项卡访问所有数据时,应用程序像以前一样崩溃。

我已经尝试了shiny帮助页面中有关更改应用程序高级设置、实例、工作人员等的建议。没有任何改变。我检查了我的应用程序日志:

我已经更改了我的 excel 文件,以便删除所有公式和格式,并且只存储值,但在运行任何server.R代码之前应用程序仍然崩溃。我曾尝试将 excel 文件保存为 .csv 文件,但文件大小几乎相同,并且需要对我的代码进行重大更改才能完全发挥作用,因此我没有进一步研究它。

我已经看到一些关于使用 Google Sheet 从应用程序中写入数据的讨论。从 Google 表格中读取我的数据会是解决此问题的更好途径吗?有人有其他解决方案吗?阅读我的excel数据甚至是我的问题吗?

我的应用程序的链接:https ://loghan.shinyapps.io/Season_Projections/

0 投票
1 回答
683 浏览

launchd - 使用 Googlesheets 包的非交互式自动刷新陈旧 OAuth 令牌

我正在尝试自动运行一个 r 脚本以每小时下载一个私人 Google 表格。当我以交互方式使用 R 时,它总是可以正常工作。在我使用launchd.

在我开始使用launchd. 我认为问题在于一小时后访问令牌发生了变化,并且非交互式版本没有等待 OAuth 令牌的自动刷新。这是我从错误报告中得到的错误:

自动刷新陈旧的 OAuth 令牌。gzfile(file, mode) 中的错误:无法打开连接调用:gs_auth ... -> -> cache_token -> saveRDS -> gzfile 另外:警告消息:在 gzfile(file, mode) 中:无法打开压缩文件'。 httr-oauth',可能的原因'权限被拒绝'执行停止

我正在使用 Jenny Bryan 的 googlesheets 包。这是我最初用于注册工作表的代码,然后保存 oAuth 令牌:

然后我在我自动化的文件中使用以下脚本launchd

使用自动运行脚本时如何避免此错误launchd

0 投票
0 回答
1104 浏览

r - R Googlesheets 包和 gs_auth() 函数 - 非交互式自动刷新过时令牌问题

我正在运行一个 R 脚本,它每隔一小时读取一次谷歌表。我为此使用 googlesheets 包和 gs_auth() 函数。最初,我通过交互式身份验证运行 gs_auth() 来存储令牌。从下一次开始,代码只会读取保存的令牌并运行 gs_auth(token = ...) 函数进行身份验证。这是示例代码。

这可以正常工作几个小时,然后给我这个错误。

每次发生这种情况时,我都会运行两行一次代码并存储一个新的令牌,这又会运行几个小时,然后给我同样的错误。我也使用cache = FALSE了代替TRUE,尽管我不清楚使用哪一个及其用途。但这并没有成功。此外,我尝试在每次使用 in 之前从本地目录读取令牌时刷新令牌gs_auth()

有什么方法可以解决这个问题,并且每次都可以在没有交互式版本的情况下进行身份验证。

0 投票
1 回答
11777 浏览

r - R 对等证书无法使用给定的 CA 证书进行身份验证,Windows

尝试使用该gs_read()功能导入 google 工作表时,我收到以下错误消息:

curl::curl_fetch_memory(url, handle = handle) 中的错误:对等证书无法使用给定的 CA 证书进行身份验证

我正在关注这个小插曲,并在使用代码时遇到错误:

我发现了Ubuntuphp的类似问题,但没有什么能帮助我。

有谁知道我为什么会收到此错误以及如何解决?

我正在使用 R 3.3.2 和 Windows 7。

0 投票
1 回答
2359 浏览

r - 使用 R googlesheets 包替换 googlesheet 的所有内容?

刚刚发现了googlesheets包,到目前为止发现它非常有用。我现在希望能够替换现有工作表中的全部或部分内容。

例子:

这将按预期创建一个新工作表。假设我们需要更新工作表(此数据用于 shinyapps.io 托管的闪亮应用程序,我希望不必重新部署应用程序以更改工作表引用)。

我试图简单地覆盖gs_new()但遇到以下警告消息:

这会导致foo_sheet创建一个新的工作表key,但不会替换现有的工作表,因此key如果我们尝试注册更新的工作表会产生错误

这意味着如果我们稍后尝试使用 访问新工作表foo_sheetgs_read("foo_sheet")API 将返回原始工作表,而不是新工作表。

据我了解,一种可能的解决方案可能是首先删除工作表,gs_delete("test1")然后创建一个新工作表。或者,也许可以用 清空单元格gs_edit_cells(),但希望有某种形式的覆盖功能。

提前致谢!

0 投票
0 回答
202 浏览

shiny - 使用 Shinyjs 和 googlesheets 重置闪亮的小部件

我的应用程序接受用户输入并将其存储在谷歌表格中。我想要一个操作按钮,在单击按钮时重置所有侧边栏面板 ui 输入。就像这篇文章一样,我尝试使用shinyjs ,但每次按下按钮时都会出现灰屏。我还尝试使用 3 个不同的 Shinyjs observeEvent 重置单独重置每个小部件。我的问题是用于捕获位置的“运行 JS 代码”是否会干扰重置侧面板。

服务器

0 投票
1 回答
1063 浏览

r - 无法为 R studio 验证 googlesheets 包

我正在尝试在 R studio 中工作,并在远程数据库中闪闪发光。为此,我下载了 JennyBrian 的包

当我尝试启动程序时,我必须授权我的谷歌帐户

但是我被困在试图打开浏览器的那些步骤上

正在浏览器中等待身份验证...按 Esc/Ctrl + C 中止

有人能帮帮我吗?

0 投票
0 回答
566 浏览

r - 从 R 快速将数据写入谷歌电子表格

我正在尝试将一些数据从 R Object(具体的数据框)写回谷歌电子表格,大约有 42 列和 1700 行,但看起来将数据写回谷歌电子表格需要很长时间。

当前配置是否不支持将这种级别的数据写回谷歌电子表格?

0 投票
0 回答
980 浏览

r - 将数据从 R 写入 Googlesheets

我正在尝试使用从 R 到 GoogleSheets 编写一个包含 1100 行和 5 列的数据框,library(googlesheets)但这样做需要很长时间,有时会返回Error in function_list[[k]](value) : Bad Gateway (HTTP 502)
如何解决这个错误?
还有其他更有效的方法吗?

我在做什么:

worksheet<-gs_new(title = "worksheet",row_extent = 2000, col_extent = 10) sheetX<-worksheet%>% gs_ws_new(ws_title="sheetX",input=df)

我还尝试在上传之前连接列。即使这样也需要很多时间。

我计划每周安排这段代码。有什么方法可以更新这张表中的数据,还是每次都会制作一张新表?
提前致谢!