r - 如何在 headless 环境(EC2实例)中使用googlesheets包进行身份验证?

标签 r authentication amazon-ec2 google-sheets-api r-googlesheets

通常,当我在桌面 R 工作室上使用 googlesheets 包时,它会让我通过基于浏览器的身份验证,在其中我选择我的 Google 帐户进行身份验证并获得批准。我使用 gs_ls() 函数进行身份验证。

现在我尝试在我的 Amazon EC2 实例中使用 R 中的 googlesheets 包,该实例没有可用的浏览器。在这种环境下我如何完成身份验证过程?

最佳答案

这是一个老问题,但我刚刚在 ec2 上使用 python 和谷歌表格遇到了同样的问题,并在搜索时发现了这个问题。这是我解决这个问题的方法。

尝试从 python 连接到 google 表格时,弹出此消息:

Please visit this URL to authorize this application: 
https://accounts.google.com/o/oauth2/auth?#######

我将网址输入本地计算机上的浏览器,并选择我的 Google 帐户进行身份验证,结果获得批准。然而,ec2 实例仍然卡住。

身份验证后浏览器中的 url 更改为 localhost 链接。我打开了与 ec2 实例的第二个连接,并使用 python requests 库,我做到了

import requests
requests.get(localhost_url_from_browser)

Python 脚本随后成功继续。我确信 R studio 有一个类似于 python requests 的库,您可以使用它。

请注意,这并不要求网页可公开访问。

关于r - 如何在 headless 环境(EC2实例)中使用googlesheets包进行身份验证?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46693297/

相关文章:

r - 在函数内部使用 attributes()

ios - 当用户在 ios 13.0 中单击登录按钮时,Facebook 登录总是被取消,但在 ios 12.0 或更小的 swift 中完全工作正常

php - 清除 session 表中持久日志中的行?

amazon-web-services - 应用程序负载均衡器在自动缩放组打开新实例之前不会保留请求

python-3.x - 有没有办法使用 boto3 获取附加到 EC2 实例的 IAM 角色名称?

r - 根据 df 单元格内字符串中符号的存在添加行(复制它们)

python - Rpy2: Pandas 数据框不适合 R

css - 没有填充的 R Shiny 表输出

php - 如何将 facebook 登录与您的网站集成?

amazon-web-services - AWS - 无法使用公共(public) DNS/IP 通过浏览器连接到 EC2 服务器