虽然它不是我的主要语言,但我使用 R 将每日 ETL 的结果发布到 Google 表格工作表中。因为这将是一个永久运行的预定作业,所以我对使用交互式流程从 R 验证 Google Drive 犹豫不决。我从我的 Google Drive 帐户凭据中获得了 JSON 的路径,但是当我通过时
gs4_deauth()
gs4_has_token()
gs4_auth(email=<email-string>, path = jsonlite::fromJSON(<path-to-json>), cache = NULL)
它引发以下错误:
[1] FALSE
Error: Can't get Google credentials.
Are you running googlesheets4 in a non-interactive session? Consider:
* `gs4_deauth()` to prevent the attempt to get credentials.
* Call `gs4_auth()` directly with all necessary specifics.
See gargle's "Non-interactive auth" vignette for more details:
https://gargle.r-lib.org/articles/non-interactive-auth.html
Execution halted
由于错误消息没有提供太多细节,我想知道是否有人对此有经验或有任何想法为什么会发生这种情况?我使用 gs4_deauth() 是因为我最初使用交互式流程登录,但现在想确保非交互式身份验证有效。
顺便说一句,从 json 凭证文件中创建令牌对象最不痛苦的方法是什么?我相信这可能比直接使用path
参数重复传递 json 凭据更简单。