通常,当我在桌面R studio上使用googlesheets软件包时,它使我通过基于浏览器的身份验证,在此选择我的Google帐户进行身份验证并获得批准。我使用gs_ls()函数进行身份验证。如何使用googlesheets包进行头部较少环境(EC2实例)的认证?
现在我正尝试在我的Amazon EC2实例中使用R中的googlesheets软件包,该实例没有可用的浏览器。我如何在此环境中完成身份验证过程?
通常,当我在桌面R studio上使用googlesheets软件包时,它使我通过基于浏览器的身份验证,在此选择我的Google帐户进行身份验证并获得批准。我使用gs_ls()函数进行身份验证。如何使用googlesheets包进行头部较少环境(EC2实例)的认证?
现在我正尝试在我的Amazon EC2实例中使用R中的googlesheets软件包,该实例没有可用的浏览器。我如何在此环境中完成身份验证过程?
我找到了解决这个问题的方法。
我基本上做过的事情是将Google工作表作为网页发布,并将访问权限设置为公开。如果我们这样做,我们可以在没有任何基于浏览器的认证的情况下访问Google表我用下面的代码 -
sheet_key='xxxxxxxxxxxxxxxxxxxx'
sheetdata <- sheet_key %>% gs_key(lookup = FALSE) %>% gs_read()
表键基本上是URL的/ d和/编辑
https://docs.google.com/spreadsheets/d/xxxxxxxxxxxxxxxxxxxx/edit#gid=0
之间的部分您可以参考此thread。它指出,从服务器创建令牌gs_auth
的最简单方法是将httr_oob_default
选项设置为true,这将告诉httr使用带外方法进行身份验证。您将获得一个URL并预期会返回一个授权码。
您也可以查看Google Sheets R API教程,了解如何使用Google表格访问和管理Google电子表格。