我正在尝试使用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”
有人可以帮我吗?非常感谢你!
答案 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
)
希望它能起作用。