问题标签 [googlesheets4]

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 回答
364 浏览

r - 如何将 gs4_create() 输出直接发送到 googledrive 文件夹

我正在尝试使用新的 R googlesheets4 包使用函数上传数百个 googlesheets gs4_create。我可以在谷歌驱动器的根目录中成功上传文件,但看不到如何将其发送到谷歌驱动器上预先存在的文件夹中。

请参阅以下代表:

"TEST_FOLDER/testsheet它在根文件夹中创建一个名为 :的文件。

虽然我想在 TEST_FOLDER 中创建文件

我知道我可以write_sheet()在文件夹中预先存在的文件上使用,但我想创建新文件,而不是写入预先存在的文件。我也知道这googledrive::drive_upload()将允许我上传 csv 文件,但我不喜欢上传 csv 文件时的格式,因为它们是纯文本表,第一行没有冻结。这只能通过 googlesheets4 包实现。所以回到我的问题:

如何在 TEST_FOLDER 中创建 googlesheet 文件(批量)?

0 投票
0 回答
37 浏览

r - R Shiny GoogleSheets4:部署时 Shinyio 服务器中的身份验证错误?

这是我的一个简单测试应用程序的代码:

它在我的本地服务器上工作正常。但是部署失败。

以下是在 Shinyio 服务器中部署后生成的错误消息:

有谁知道如何修理它?我已经尝试了我在网上找到的所有解决方法,但没有奏效。

0 投票
2 回答
2868 浏览

r - 使用 googlesheets4 通过 R 中的闪亮连接到 googlesheets

我正在尝试使用此示例的更新版本通过闪亮连接到私人 googlesheet,并将此应用程序部署在 shinyapps.io 服务器上。由于应用程序使用指定的预先存在的 googlesheet,因此用户无需对 google 帐户进行身份验证。

我已经按照这个例子(部分复制在这里),试图将令牌保存到我闪亮的应用程序中:

但尝试将其更新为 googlesheets4,如下所示:

然后在应用程序中,我将此代码放在shinyApp()函数之外。

在应用程序中,我使用从 ss$spreadsheet_id上面获得的硬编码 id 从应用程序连接到谷歌文档。该应用程序在本地运行。

尝试将应用程序部署到服务器后,我收到错误“...无法获取 google 凭据。您是否在非交互式会话中运行 googlesheets4?...等”我认为令牌将包含足够的信息这个。

如果有人能指出我的设置指南,并评论这种方法(在 shinyapps.io 上保存令牌)是否安全,我将不胜感激?

我看过其他示例,但似乎大多数是针对以前版本的googlesheets

0 投票
1 回答
295 浏览

python - 如何使用 r 或 python 在 google sheet 中编写公式?

我正在尝试使用 R 将 excel SUM 公式写入谷歌表格。我想总结例如值 A1 + A2 并将公式保存在 A3 中。 问题是它应该是一个公式,因为我有一个包含许多更新的大 GDoc

使用 googlesheets4 它不起作用,因为在粘贴数据(公式)时前导撇号:

你在 R 或 Python 中有什么解决方案吗?我知道在 openxlsx 中是可能的,但它仅适用于 MS excel ..

0 投票
1 回答
641 浏览

r - R Shiny Dashboard:从本地文件和在线数据库(例如 Google Sheet)上传数据

我是 Shiny 仪表板的初学者,我有一个困扰我很久的问题。
我的最终目标是将数据分配给一个名为“myData”的变量,但我为用户提供了从本地文件或在线文件(在我的情况下为 GoogleSheet)上传数据的选项。
下面是我的应用程序的简化版本。为了实现目标,我做了:

  1. 在“数据”选项卡下,我创建了一个选择框“input_option”,以便用户可以选择上传本地数据(="local")或来自在线持久数据库的数据(="online);
  2. 我使用“eventReactive”根据“input_option”的值获取数据;
  3. 如果用户选择从在线数据库上传数据,则数据将显示在仪表板正文中;
  4. 如果用户选择从本地文件上传数据,在dashboard body中会显示“fileInput”框,引导用户选择本地文件。然后数据也将显示在仪表板主体的下方。

然而,问题是:

  1. 无论哪种方式,数据都无法显示在仪表板正文中。我什至不知道数据是否已成功获取;
  2. 当我选择上传在线数据然后关闭应用程序时,R 控制台不会暂停而是继续运行。

有没有朋友或专家能帮我解决这些问题?我真的很感谢你的帮助!

0 投票
1 回答
349 浏览

r - 使用 googlesheets4 通过 Shiny 应用程序授权非交互式使用 googlesheets

我知道 SO 周围还有其他一些类似的问题(例如,这里这里),但我想我会再试一次,因为其他人没有得到很多答案。

我有一个 Shiny 应用程序,它允许其用户通过应用程序提供输入,但这些用户需要跳过身份验证步骤。在以前的版本中,googlesheets我将表格公开(对任何知道链接的人)并避免了一些身份验证过程。在更新到googlesheets4将更新的应用程序部署到 shinyapps.io 时,我遇到了权限问题。这是我尝试过的内容的摘要,以及我得到的结果。任何指针将不胜感激。

首先,根据本文中的建议,gargle创建了一个服务帐户,下载了一个 JSON 服务帐户令牌(格式为“project-name-12345678abc1.json”),并将其(暂时)保存在父应用文件夹下假设它需要与应用程序包一起上传。然后我启用了 Google Sheets API。

我将以下命令放在应用程序的前面,在任何实质性内容之前:

  1. gs4_deauth(),因为 google 表格对知道链接的任何人都是公开的,因此可能不需要令牌。

  2. 在这篇文章之后gs4_auth(path = "project-name-12345678abc1.json"). 我还添加了scopes参数(如下所示)和use_oob=TRUE.

  3. credentials_service_account(scopes = "https://www.googleapis.com/auth/spreadsheets", path = "project-name-12345678abc1.json").

  4. credentials_app_default(path = "project-name-12345678abc1.json")

结果

大多数组合都会给我错误提示“无法获取 Google 凭据”,然后建议我查看漱口网站上的非交互式文章。一个例外是尝试 3,它提供了以下错误消息 - 奇怪的是:

警告:错误:客户端错误:(403)PERMISSION_DENIED

  • 客户没有足够的权限。发生这种情况的原因可能是 OAuth 令牌没有正确的范围、客户端没有权限或尚未为客户端项目启用 API。

关于我可能遗漏的任何想法?该应用程序在本地运行良好。

任何帮助表示赞赏。谢谢!

0 投票
1 回答
1103 浏览

r - R 包 googlesheets4 返回客户端错误:(429) RESOURCE_EXHAUSTED 读取公共工作表时

有时会返回此错误,但并非总是如此。我需要登录才能阅读公共文件吗?

0 投票
0 回答
46 浏览

r - 在 GoogleSheets 的 Rshiny 中拥有 >1 反应性数据框(已解决)

这个问题我想了很久,好像也想不通!我构建的是一个 RShiny 应用程序,它使用库(googlesheets4)从 googlesheets 捕获REACTIVE(实时)数据并填充数据表。

什么有效

我可以通过从 1 个谷歌表中仅提供 1 个数据框来让我的应用程序工作。

我正在努力实现的目标

从上面可以看出,我的整个应用程序只能阅读 1 张纸。我正在尝试读取 2 个或更多工作表,以便在将它们显示在数据表中之前执行一些转换。

我尝试过的(已编辑,下面的解决方案有效!)

全局 <- reactiveValues(df = "", df1 = "")

有人可以帮忙吗?

0 投票
0 回答
110 浏览

r - 在 R 中导入 Google 表格时超时

我正在使用 R 中的googlesheets4库来验证和导入 google sheet 作为我闪亮应用程序的一部分。这很好用,但是,有时我会收到错误消息:

其他人有过这种经历吗?我想知道我是否过于频繁地导入文件(每次 Shiny 启动时),谷歌对此并不满意。

我想知道是否应该创建一个数据库并找出一种方法来触发 Google 表格以在 Google 表格中输入新数据行时更新数据库。有没有其他人考虑过这个?

0 投票
1 回答
353 浏览

r - 调度代码时如何在R中的googlesheets4中自动选择预授权帐户?

我试图弄清楚自动允许 googlesheet4 包选择我的预授权帐户以下载特定的 google 表格的方法是什么。

例如 - 我想每天运行一次以下 -

控制台提供以下输出:

如上所示,我已经授予它访问帐户的权限,以便在上一步中使用 google 表格。但它仍然要求我手动输入“1”来选择这个帐户。是否可以自动执行此操作,以便在自动安排此代码时不必手动输入“1”来运行此脚本?

如果您能指出正确的方向,将不胜感激!