ZeroStack
ZeroStack

Reputation: 1109

How to authenticate with service account and bigrquery package?

I have been able to authenticate using the json file associated with a service account using googleAuth and bigQueryR.

# Load Packages
global.packages <- c("bigQueryR", "googleAuthR")

### Apply require on the list of packages; load them quietly
lapply(global.packages, require, character.only = TRUE, quietly = TRUE)

Sys.setenv("GCS_AUTH_FILE" = "json_file_location")

#Authenticate Google BQ
googleAuthR::gar_attach_auto_auth("https://www.googleapis.com/auth/bigquery",
                                  environment_var = "GCS_AUTH_FILE")

This works and I am able to start using functions from bigQueryR.

Now assume I am limited to the bigrquery package, how can I authenticate using a service account with this package?

I have looked at the documentation here to no avail: https://cran.r-project.org/web/packages/bigrquery/bigrquery.pdf

The resources I have come across on the internet propose using the bigQueryR package in place of bigrquery.

For instance this related stackoverflow question: Use bigrquery auth in shiny application.

But I need functions only available in bigrquery.

Upvotes: 10

Views: 5938

Answers (2)

jkras
jkras

Reputation: 324

set_service_token() is now deprecated.

Use bq_auth() instead:

bq_auth(path = "location_of_service_token.json")

Source: https://rdrr.io/cran/bigrquery/man/bigrquery-deprecated.html

Upvotes: 16

MarkeD
MarkeD

Reputation: 2641

You can use the function set_service_token()in bigrquery to authenticate with the same service JSON you use in bigQueryR

library(bigrquery)

set_service_token("location-of-service.json")

Source: https://github.com/rstats-db/bigrquery/issues/22

Upvotes: 9

Related Questions