通常,当我在桌面 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/