bigrquery包下的R无法验证BigQuery

时间:2018-12-10 04:33:23

标签: r authentication google-bigquery

我正在尝试使用set_service_token软件包中的bigrquery进行非交互式身份验证。

这是我的代码:

library(bigrquery)
set_service_token("client_secret.json")

但它始终在下面显示错误消息:

  

read_input(file)中的错误:
    文件必须是连接,原始矢量或文件路径

但是,当我简单地读取JSON路径时,它可以工作:

lapply(fromJSON("client_secret.json"), names)
  

已安装$``
  [1]“ client_id”“ project_id”“ auth_uri”“ token_uri”“ auth_provider_x509_cert_url”“ client_secret”“ redirect_uris”

有人可以帮我吗?非常感谢你!

1 个答案:

答案 0 :(得分:0)

看起来您的JSON文件位于当前目录中,但是您需要完整的路径来提供令牌JSON文件。试试这个:

json_path <- paste(getwd(), "/client_secret.json", sep="")
set_service_token(json_path)

如果这行不通,则可以使用环境变量进行尝试,如下所示:

Sys.setenv("CLIENT_SECRET_FILE" = json_path)
set_service_token(Sys.getenv('CLIENT_SECRET_FILE'))

或者,尝试提供JSON内容,如下所示:

set_service_token(toJSON(fromJSON("client_secret.json"), pretty = TRUE))

您也可以尝试使用gar_auth_service

library(googleAuthR)
gar_auth_service(
  json_file = "client_secret.json" # or better use the full path instead
)

希望它能起作用。