[ https://issues.apache.org/jira/browse/ARROW-17894?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17646232#comment-17646232 ]
Joran Elias commented on ARROW-17894: ------------------------------------- [~cboettig] Sorry to see this has bitten you too! Not sure what the difference would be between our setups, but in case it helps, what worked for me was reading in the GCP json file via `readr::read_file` so that it's a single character object, and then passing that object to the `json_credentials` argument. Also, I'm using R on a Ubuntu VM via RStudio Workbench. > [R] Documentation for json_credentials is misleading > ---------------------------------------------------- > > Key: ARROW-17894 > URL: https://issues.apache.org/jira/browse/ARROW-17894 > Project: Apache Arrow > Issue Type: Bug > Components: R > Affects Versions: 9.0.1 > Reporter: Joran Elias > Priority: Major > > For authenticating with GCS via a JSON credentials file, the documentation > under ?FileSystem for GcsFileSystem$create() says: > > * {{{}json_credentials{}}}: optional string for authentication. Point to a > JSON credentials file downloaded from GCS. > > Additionally, the GCS Authentication section of Working with Cloud Storage > (S3, GCS) in the file system vignette says: > {quote}or {{{}json_credentials{}}}, to reference a downloaded credentials > file. > {quote} > > Both of these seem to imply that json_credentials expects a path to a JSON > credentials file downloaded from GCP. However, when a file path is provided > you get an invalid argument error: > > {code:java} > > bucket <- gs_bucket(bucket = 'pinned_data',json_credentials = json_path) > > bucket$ls(recursive = TRUE) > Error: Invalid: google::cloud::Status(INVALID_ARGUMENT: Permanent error in > ListObjects: Invalid ServiceAccountCredentials,parsing failed on data loaded > from memory). Detail: [errno 22] Invalid argument > {code} > > However, if you pass a string containing the raw JSON from the file itself, > the above code snippet works and returns the names of the objects in the > bucket. > Both sections of the documentation should be clarified to explicitly say that > the argument expects the actual JSON rather than a file path to the JSON file. -- This message was sent by Atlassian Jira (v8.20.10#820010)