0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Google Cloud StorageのURLを取得するのにハマった話

Last updated at Posted at 2020-07-22

Cloud Functionの中で特定の画像のURLを取得したかったのだが、かなり手こずった。
忘れないようにメモしておく。

1.getDownloadURLを使用してURLを取得しようとする

→Cloud Functionの中からはgetDownloadURLは使えない。

理由↓
https://firebase.google.com/docs/storage/web/download-files?hl=ja
iOSアプリからはこのgetDownloadURLが使えていたし、Cloud Functionの中でもこれで取得したかったが、
どうやらNode.jsではこれは使えないらしい。
Javascriptのクライアントにはあるが、Node.jsにはない。
どこかに公式の表があったが忘れてしまった。
とにかくNode.jsでは使えない。
https://firebase.google.com/docs/storage/admin/start?hl=ja

2.署名付きのURLを取得しようとする

→よくわかんないけどエラーでできなかった
(参考URL)
https://qiita.com/nobu17/items/6ef14d5fd0355e90f5cf

↓実際に取得したURL
https://storage.googleapis.com/playbox-53558.appspot.com//thumbnail.jpg?GoogleAccessId=playbox-53558%40appspot.gserviceaccount.com&Expires=16447017600&Signature=bT98s5UVYJow8rvPDfoWy%2BH%2B3eddvGtyyYXhWKC6GA4b8%2BAURCLxTnwuyyhgxJzCm78GwUHO1CYrpF%2Bv%2BPqQOkkfDCRlvaqtuK9KZ94vWYedTMcNmrpf1PzlAYOxoMOCUDpqKQFLZQmk79dhWBGaMG8ovT4bpxMHSnm2eVhvpbRJ7gxP9Ux7tUt1caISBeJcXlcxkvgqCtqy2%2BQH2OR%2Fr3qA%2FQSe4jGa40MzaasyBnvL%2FbAO563ztwiSoSRuCunuSamJXHjJ5Rv%2FgpPnm5KUn3Yrv%2B8hd8WuDLTPGZxiTZ0gi4UDlYEs4%2BTdau10Vprtm8s202IloYR6XjIhBkYt2w%3D%3D

3.直接URLを記述する

→セキュリティルールの壁があるけどそれを超えれば表示できる
https://firebasestorage.googleapis.com/v0/b/バケット名/o/パス名?alt=media
↓参考
https://qiita.com/koinori/items/f8f534598fe8e1c40c7e
↓実際のURL例
https://firebasestorage.googleapis.com/v0/b/playbox-53558.appspot.com/o/thumbnail.jpg?alt=media
ここでのパス名の中に/を入れるとだめなので注意。
encodeURIComponent(パス名)にするといいらしい。

結果として3番で行くことにした。
2番目の証明書付URLでもできそうだけど1週間で見れなくなるとか色々書いてあるので難しそう。

---参考になったURL
https://firebase.google.com/docs/storage/admin/start?hl=ja
↓ここの「Web」っていう項目はCloudFunctionの中では使えない。
https://firebase.google.com/docs/storage/web/create-reference?hl=ja

スクリーンショット 2020-07-26 7.35.31.png

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?