我使用Windows任务管理器编写了一个任务。它包括通过bigrquery
库访问BigQuery数据。我已将我的凭据存储在本地文件httr-oauth
中。
我正在使用这些库:
library(bigrquery)
library(assertthat)
library(httpuv)
该任务已经工作了几个星期,我突然在日志文件(.Rout)中看到此消息:
Waiting for authentication in browser...
Press Esc/Ctrl + C to abort
Please point your browser to the following url:
https://accounts.google.com/o/oauth2/auth?client_id=....
它似乎需要刷新令牌,但如果我手动运行脚本一切正常,我的httr-oauth
工作正常。
关于发生了什么的任何想法?提前致谢!
简而言之,您需要使用服务帐户。
了解如何配置库驱动程序以验证与Google服务帐户的连接。以这种方式验证连接时,驱动程序代表服务帐户处理身份验证,因此不直接涉及单个用户帐户,也不需要用户输入。
要以这种方式验证您的连接,您必须提供Google服务帐户电子邮件地址以及服务帐户的私钥文件的完整路径。您可以在设置服务帐户时生成和下载私钥文件。
更多这里:https://developers.google.com/identity/protocols/OAuth2ServiceAccount