我在使用bigrquery
从我编制的R文档中连接到GCP服务帐户时遇到了问题。当我从控制台尝试时,身份验证工作正常。两者都有
library(bigrquery)
bq_auth()
和
library(bigrquery)
bq_auth(email="my-service-account-email@myproject.iam.gserviceaccount.com")
启动一个具有对话框的浏览器,该对话框允许我按预期的方式使用指定的帐户进行选择和身份验证。但在R Markdown中,任何类似的尝试
options("httr_oob_default" = TRUE)
bq_auth(email="my-service-account-email@myproject.iam.gserviceaccount.com")
甚至像这样使用完整的列表
bq_auth(
email = "my-service-account-email@myproject.iam.gserviceaccount.com",
path = NULL,
scopes = c("https://www.googleapis.com/auth/bigquery"),
cache = gargle::gargle_oauth_cache(),
use_oob = gargle::gargle_oob_default(),
token = NULL
)
导致错误
Error: Can't get Google credentials.
Are you running bigrquery in a non-interactive session? Consider:
* Call `bq_auth()` directly with all necessary specifics.
有人能看到我错过了什么吗?提前谢谢。
发布于 2020-11-12 06:25:50
您可以下载Google服务帐户的JSON文件,然后使用它作为“bq_auth”函数可以识别的路径。以下是步骤:
谷歌云控制台(console.cloud.google.com)
bigrquery::bq_auth(path = "/path/to/jsonfilename.json")
注意:您需要确保将服务帐户设置为能够访问BigQuery。我把我的设置为"BigQuery管理“,它起了作用,但那可能太宽泛了。
借用伊莲的答案--See在媒体上的帖子:https://medium.com/@elaine.yl.see/easiest-way-to-use-bigquery-in-r-8af466cd55ca
https://stackoverflow.com/questions/62008509
复制相似问题