问题标签 [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.
r - R googlesheets4 将令牌作为参数传递给 read_sheet
只有当表格已经获得授权时,我才能阅读表格,
如果不是,则忽略后续的每一行代码,因为代码执行会不断要求令牌。有没有办法将令牌索引传递给 read_sheet 命令,或者事先授权访问?
r - 尝试使用包 googlesheets4 将 R 连接到 Googlesheet 时出错:无法获取 Google 凭据
我在尝试将 R 与 Googlesheet(包 googlesheets4)连接时遇到问题:
错误:无法获取 Google 凭据。您是否在非交互式会话中运行 googlesheets4?考虑: *
gs4_deauth()
以防止尝试获取凭据。* 直接致电gs4_auth()
并提供所有必要的细节。有关详细信息,请参阅 gargle 的“非交互式身份验证”小插图: https ://gargle.r-lib.org/articles/non-interactive-auth.html
我的 R 版本是 4.0.3,当我有 3.5.3 版本时代码运行正常
r - 努力在 shinyapps.io 中使用我自己的 API 密钥和 googlesheets4
我有 googlesheets4 使用以下代码在 shinyapps.io 中工作:
我在本地运行它,这需要初始浏览器身份验证并下载某种文件。
只要我将该文件与我的应用程序一起上传到 shinyapps.io,它就可以工作(即在需要时刷新令牌)。
但是,据我了解,这是使用 googlesheets4 自己的 Google API 设置,这些设置是为了让每个人都可以轻松使用。
缺点是,由于很多人都在共享这个 API,他们有时(包括我自己)会达到数据限制并得到 429 RESOURCE EXHAUSTED 错误。这将在此处讨论。
好的,所以我已按照此处和此处的说明进行操作,并在已提供的身份验证块之前添加了以下代码:
所以这似乎在本地工作(例如在 RStudio 中),我可以在我的 Google Cloud API 仪表板上看到活动。
然而,虽然这在短时间内(例如 10 分钟)有效,但即使上传到 shinyapps.io,自动刷新似乎也会失败,因为我很快就会感到害怕:
“无法获取 Google 凭据。您是否在非交互式会话中运行 googlesheets4?”
有人能指出我做错了什么吗?
再次 - 只要我不尝试使用自己的 API 设置(第二个代码块),它就可以正常工作。
r - 如何使用 json oauth 文件通过 googlesheets4(r 包)连接到 google 表格?
我需要以非交互方式连接到谷歌表格。我已阅读此处、此处和此处的文档,并执行了以下操作:
- 创建了谷歌云账号和项目
- 创建了一个服务帐户,并将生成的电子邮件地址作为编辑添加到我要访问的工作表中(我认为任何文档都没有说你需要做的事情,这令人沮丧,因为我很漂亮当然你必须这样做)
- 创建了 OAuth 2.0 客户端 ID
- 下载了该客户端 ID 的 json 文件
我的代码是:
但我仍然被要求以交互方式进行身份验证,这正是我想要避免的。我已经使用了交互模式,然后使用gs4_auth(email = "my_email_address")
了它来解决这个问题,但是我需要在远程服务器上运行脚本,在该服务器上我无法进行所需的初始交互身份验证。
r - 漱口水非交互式服务帐户令牌身份验证不起作用
我正在使用 googlesheets4 包,它使用漱口水进行身份验证。我有一个定期运行的预定脚本,所以我需要设置非交互式身份验证。我尝试按照我找到的所有说明设置服务帐户令牌并使用它进行身份验证,但似乎仍然无法让它工作。
我创建了一个服务帐户令牌并将其存储在一个 JSON 文件中。然后我使用了以下命令:
使用options(gargle_quiet = FALSE)
,我看到以下内容:
一切似乎都奏效了!
但是当我尝试运行时gs <- gs4_find(my_sheet_name)
,我得到以下信息:
...然后它打开一个浏览器窗口,要求我登录我的帐户。似乎credentials_service_account()
第一次成功,但随后再次调用它并失败。我在这里想念什么?
提前致谢!
r - Googlesheets 配额限制问题 - 可能无法使用 API 密钥
我们目前正在使用谷歌表格进行一项关于 Covid-19 病例和死亡人数人群预测的研究项目。
使用 Google 表格是为了方便,但我们经常遇到配额限制问题——即使我们拥有的用户数量应该远低于 Google 允许的数量。
我试图通过设置一个新的谷歌帐户并创建一个可供阅读的工作表来创建一个可重现的示例。
我尝试的第一件事(没有对谷歌帐户进行任何更改)是这样的:
据我了解,我应该能够每分钟发出大约 300 个读取请求,但我通常无法让循环运行超过 30-34。
由于我不确定这 300 个请求是否随时可用,我访问了https://console.cloud.google.com,创建了一个新的测试项目(不知道为什么需要这样做)并明确激活了 googlesheets API 并创建了一些凭据. 我创建了一个 API 密钥以及一个 OAuth 2.0 客户端 ID(尽管我承认有些迷失了它的作用以及如何使用它)。
接下来我尝试通过运行使用我的 api 密钥登录
但这也没有让我超过 33 岁。我还查看了谷歌控制台,但也看不到任何流量 - 所以不确定我的 API 密钥是否被实际使用?
我认为这是由于我无法以预期的方式实际使用 API。任何有关设置/增加配额的帮助将不胜感激。如果这有帮助,我很乐意提供对测试帐户的访问权限 - 只需给我留言。
r - 如何从 googlesheets4 的下拉列表中读取数据?
有一个包含值下拉列表的电子表格
水果 | 颜色 |
---|---|
苹果 | 蓝色的 |
梨 | 红色的 |
每当我尝试使用read_sheet
时,所有这些值都会显示为 NA。我该如何解决这个问题?
r - write_sheet() 错误:不知道如何从“data.frame”类中创建“CellData”实例
我从我们的 mongoDB 查询了这个
View(data)
看起来和我预期的一样,但是当我尝试使用googlesheets4::write_sheet(data = data2, ss = "a google url", sheet = "a name")
它发出这条消息:
创建 xls 或 csv 可以正常工作,但 gsheet 不能。来自 mongoDB 以外的其他来源的数据帧可以写入 gsheet。
r - 使用R中的googlesheets4将大数据写入Google表格时如何捕获超时错误并重试
我有一个 R 脚本,它从数据库读取数据并将其写入 Google 电子表格(该脚本读取多个表,每个表都写入电子表格的不同工作表)。它工作正常,但我遇到的问题是,由于某些表非常大,googlesheets4::write_range 函数随机给出“超时”错误,因为工作表仍在忙于处理之前写入的表。我尝试编写代码来捕获错误并使用重试(从包重试)函数,但它似乎不起作用,我只是找不到合适的方法来捕获 range_write 函数在计时时给出的错误出去。我需要的应该是这样的(我猜):
如前所述,前面的代码有效,但未能捕捉到 range_write 在超时时给出的错误,它仍然给出以下内容:“错误:服务器错误:(503)不可用”。
如果几秒钟后我重试失败的表的函数,它通常可以工作,所以我知道这只是重试(如果必要的话,2或3次)的问题,给工作表一些时间来处理信息.
任何帮助或提示使这项工作将不胜感激!
r - *** 捕获 segfault *** 地址 0x38,使用 googlesheets4::gs4_auth 时导致“内存未映射”
googlesheets4::gs4_auth()
使用 json 路径调用时出现问题
googlesheets4::gs4_auth(路径 = auth_jspath)
这是错误日志:
*** 捕获段错误 *** 地址 0x38,导致“内存未映射”。警告:“lazyLoadDBfetch”中的堆栈不平衡,33 然后 27
发生不可恢复的异常。R 现在正在中止...分段错误(核心转储)
我的会话信息()
包版本:
googlesheets4
0.3.0
gargle
1.1.0
我不知道发生了什么。请帮忙检查。谢谢你们。