3

I know a similar question has been asked (link), but the response didn't work for me.

TLDR: I keep running into errors when trying to authenticate Google Cloud Storage in RStudio. I'm not sure what is going wrong and would love advice.

I have downloaded both the GCS_AUTH_FILE (created a service account with service admin privileges'--downloaded the key associated with the service account) and also downloaded GAR_CLIENT_WEB_JSON by creating a OAuth 2.0 Client ID and downloading that associated JSON file.

I've tried authenticating my Google Cloud Storage in several ways and hit different errors.

Way 1-automatic setup:

gcs_setup()

Then I select any one of the options, and get the error: Error in if (file.exists(local_file)) { : argument is of length zero And that error happens no matter which of the three options I select.

Way 2 - basic, following manual setup instructions from the package:

Sys.setenv("GCS_DEFAULT_BUCKET" = "my-default-bucket",
           "GCS_AUTH_FILE" = "/fullpath/to/service-auth.json")
gcs_auth()

In this case, GCS_AUTH_FILE is the file that I mentioned at the beginning of this post, and the GCS_DEFAULT_BUCKET is the name of the bucket. When I run the first line, it seems to be working (nothing goes awry and it runs just fine), but when I run gcs_auth() I get taken to a web browser page that states:

"Authorization Error Error 400: invalid_request Missing required parameter: client_id"

Way 3: Following the method from the post that I linked above

This way involves manually setting the .Renviron file w/ the GCS_AUTH_FILE and GAR__CLIENT_WEB_JSON locations, and then running gar_auth(). And yet again, I get the exact same error as in Way 2.

Any ideas about what could be going wrong? Thanks for your help. I wasn't sure how to put in totally reproducible code in this case, so if there is a way I should do that, please let me know.

camille
  • 16,432
  • 18
  • 38
  • 60
Ana
  • 421
  • 3
  • 12
  • have you tried using fuse connector? as the answer [here](https://stackoverflow.com/posts/51898068/) personally I think this alternative is much simpler and you can read objects in GCS as if they were stored locally – Soni Sol Jan 09 '22 at 03:16

0 Answers0