首页 文章

无法在bigrquery包下使用R对BigQuery进行身份验证

提问于
浏览
0

我试图在 bigrquery 包中使用 set_service_token 进行非交互式身份验证 .

这是我的代码:

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

但它一直显示以下错误消息:

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

但是,当我只是阅读JSON路径时,它可以工作:

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

$installed [1]“client_id”“project_id”“auth_uri”“token_uri”“auth_provider_x509_cert_url”“client_secret”“redirect_uris”

谁能帮我这个?非常感谢你!

1 回答

  • 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
    )
    

    希望它有效 .

相关问题