问题标签 [gargle]

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 投票
0 回答
20 浏览

r - 使用服务帐户后强制 R googlesheets4 gs4_auth() 使用指定的用户帐户

我正在编写一个简单的脚本,该脚本用于googlesheets4读取一些数据,然后使用漱口水来验证 API 调用。我遇到了gs4_auth()验证错误用户的问题。

我首先运行gs4_auth("example@example.com")以使用我的 Google 帐户进行身份验证,一切正常。

gargle::credentials_service_account()稍后,我通过使用本地服务帐户 json 密钥生成令牌来验证我的 API 调用。这也很好用。

当我在之前对 API 调用进行身份验证后尝试再次运行脚本时,就会出现问题。当我运行gs4_auth()它时,它使用服务帐户凭据,并且read_sheet()调用返回 403 错误。

有没有办法强制gs4_auth()不使用服务帐户凭据。服务帐户的电子邮件与传递给的电子邮件不同,gs4_auth()因此我不希望它使用不匹配的凭据。

我运行了身份验证,options(options(gargle_verbosity = "debug")它提供了以下输出:

随后的 403 错误发生是因为 example@example.com 可以访问 google 工作表,但 example-service-account@project.iam.gserviceaccount.com 没有。

0 投票
0 回答
16 浏览

r - 通过单个 API 调用获取多个 Google 表格

如何使用googlesheets4R 包进行单个 API 调用以检索在特定 Drive 目录中找到的所有电子表格?

目前,我在共享的 Google Workspace Drive 文件夹中列出了可供我使用的电子表格,drive_ls然后遍历它们(使用lapply)从每个电子表格中逐一下载特定范围:

这样做的问题是我进行了几个 API 调用,这很慢,尤其是因为调用偶尔会在后台自动暂停gargle以避免达到速率限制。

如果它有助于简化解决方案,如代码所示,我想强加的范围限制和其他细节在电子表格中是相同的(尽管我想保留read_sheet_wrapper函数的细节,而不是进行简单的read_sheet调用)。