R Googlsheets:无法在googlesheets包中使用`gs_auth()` - 使用Google登录暂时禁用应用程序未经验证问题

14

我无法认证我的googlesheets包。每次运行gs_auth()命令时,我都被带到Chrome页面,在那里我通常会登录以使该包能够访问我的googlesheets:

输入图像描述

然而,最近每次我这样做时,我都会从Google收到以下错误:

输入图像描述

这是我的会话信息:

sessionInfo()
R version 3.6.1 (2019-07-05)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Debian GNU/Linux 9 (stretch)

Matrix products: default
BLAS/LAPACK: /usr/lib/libopenblasp-r0.2.19.so

locale:
 [1] LC_CTYPE=en_US.UTF-8       LC_NUMERIC=C               LC_TIME=en_US.UTF-8        LC_COLLATE=en_US.UTF-8     LC_MONETARY=en_US.UTF-8   
 [6] LC_MESSAGES=C              LC_PAPER=en_US.UTF-8       LC_NAME=C                  LC_ADDRESS=C               LC_TELEPHONE=C            
[11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C       

attached base packages:
[1] stats     graphics  grDevices datasets  utils     methods   base     

other attached packages:
[1] googlesheets_0.3.0

loaded via a namespace (and not attached):
 [1] Rcpp_1.0.2        crayon_1.3.4      dplyr_0.8.3       withr_2.1.2       assertthat_0.2.1  cellranger_1.1.0  R6_2.4.0         
 [8] magrittr_1.5      httr_1.4.1        pillar_1.4.2      rlang_0.4.1       cli_1.1.0         curl_4.2          renv_0.8.2-12    
[15] rstudioapi_0.10   tools_3.6.1       glue_1.3.1        purrr_0.3.3       compiler_3.6.1    askpass_1.1       pkgconfig_2.0.3  
[22] sessioninfo_1.1.1 openssl_1.4.1     tidyselect_0.2.5  tibble_2.1.3     

gs_auth()

我也按照这个Stack Overflow问题中给出的指示进行操作,但仍未成功。

我已经能够使用googledrive包访问我的表格,但我仍想解决这个问题。

谢谢!

2个回答

9

googlesheets4将在2020年3月之前很快取代googlesheets包。目前,除了写入特定单元格外,googlesheets4可以处理googlesheets执行的大部分功能。

googlesheets4使用Gargle进行oauth认证(类似于googledrive包)。更多信息可以在这里找到 - https://github.com/tidyverse/googlesheets4


1
这是否意味着我们不能使用原始的googlesheets包? - Vivek Katial
Googlesheets4对于Shiny应用来说是一个绝对的混乱。身份验证是一个真正的问题,我还没有能够解决它。 - Diya
@Diya如果你找到了使用googlesheets4与Shiny的解决方案,能否请告诉我一声?我在这里已经尝试了几个小时了。这是一个真正的问题。 - Sollano Rabelo Braga
@Diya 我成功地将它用于部署在 shinyapps.io 上的一堆应用程序。你遇到了什么问题?你可以使用 token 而不是尝试从浏览器进行身份验证。 - Vivek Katial

2

以下是Jenny Bryan(googlesheetsgooglesheets4的维护者)在Github上回答这个问题的答案:

"默认oauth应用程序不再起作用" https://github.com/jennybc/googlesheets/issues/397

链接包括非常详细的逐步说明,我不会重复她已经很好地阐述的内容。但简短的版本是,您需要设置自己的API凭据才能使oAuth客户端工作。并且请记住,这只有到2020年3月之前才有帮助。

可能更好的方法是,如@Kannan和其他人所指出的那样,如果可以的话现在切换到新的googlesheets4包。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接