cristoper / gsheet

gsheet is a CLI tool (and Golang package) for piping csv data to and from Google Sheets
MIT License
83 stars 5 forks source link

Question: How to 'integrate' my GCP project Google Drive with my company's GSuite? #5

Closed vitalyk-multinarity closed 1 year ago

vitalyk-multinarity commented 1 year ago

Sorry for off-topic, but:

Thanks, Vitaly

cristoper commented 1 year ago

Hi Vitaly,

It depends on how you are creating the files you manage with gsheet. Are you creating new files with gsheet upload that you then need to access via the browser?

If so, the workflow I recommend is to first manually create a folder in Google Drive and share that with both your service account (something like user@app.iam.gserviceaccount.com) and any coworkers that need access. Take note of the folder id in the browser. And then have gsheet create new files in that folder:

gsheet upload --parent ...yourFolderID... FILE_NAME

Those files will then be accessible in Google Drive to everybody.

If you just use gsheet upload without specifying --parent then the file gets uploaded to the service worker's root directory which is not accessible via the browser. You can get the root folder ID with gsheet info file_id, but gsheet does not currently provide a way to share that folder with human users (although I'm open to implementing that).

Does that clarify things?

vitalyk-multinarity commented 1 year ago

Thank you @cristoper.

the workflow I recommend is to first manually create a folder in Google Drive and share that with both your service account (something like user@app.iam.gserviceaccount.com) and any coworkers that need access.

This makes sense, I'll try it.

Vitaly

cristoper commented 1 year ago

Let me know if you run into any issues. It can be annoying to have to pass the --parent id all the time, but you can instead set it once in the GSHEET_PARENT environment variable.