codefx
codefx

Reputation: 10512

Is it possible to wget / curl protected files from GCS?

Is it possible to wget / curl protected files from Google Cloud Storage without making them public? I don't mind a fixed predefined token. I just want to avoid the case where my public file gets leeched, costing me good dollars.

Upvotes: 14

Views: 17441

Answers (3)

Scott Condron
Scott Condron

Reputation: 2035

You could also use the curlwget chrome extension so whenever you download something on Chrome it will create the url with headers etc to allow you to wget your file.

Upvotes: 3

Adam
Adam

Reputation: 6005

Another way, if as you say you don't mind getting a token externally, is to use curl to set the 'Authorization' header in your call to GCS like so:

curl -H "Authorization: Bearer 1/fFBGRNJru1FQd44AzqT3Zg" https://www.googleapis.com/storage/v1/b/bucket/o/object?alt=media

The 'alt=media' query string parameter is necessary to download the object data directly instead of receiving a JSON response.

You can copy and paste the token obtained by authorizing with the Cloud Storage JSON API separately in the OAuth 2.0 Playground.

See also:
https://cloud.google.com/storage/docs/access-control https://cloud.google.com/storage/docs/json_api/v1/objects/get

Upvotes: 15

jterrace
jterrace

Reputation: 67093

You can use Signed URLs. This allows you to create a signed URL that can be used to download an object without additional authentication.

Upvotes: 6

Related Questions