Cloud Storageに上げたファイルの直リンクをChrome以外のブラウザで見ると・・・
画像素材などのアップロード先として何かと便利な Cloud Storage ですが、Google Cloud Platform の管理画面で提示される リンクURL
は問題があります。
Cloud Storage の管理画面でファイルの詳細を開くと以下のような形式で リンクURL
が表示されていると思います。
https://storage.cloud.google.com/バケット名/ファイル名
ファイルの公開設定をちゃんとした後、このアドレスを Safari や Edge など Google の アカウント情報が提供されていないブラウザ で直接開くとどうなるでしょうか・・・?
Googleアカウントのログインか選択画面が表示されると思います。
設定画面の 相互運用性
タブに記載があるのですが・・・
リクエスト エンドポイント
その他のクラウド ストレージ システム(Amazon S3 など)で使用するツールまたはライブラリにあるリクエスト エンドポイントで、以下の Cloud Storage URI を使用していることを確認してください:
https://storage.googleapis.com
直リンクは https://storage.googleapis.com
のエンドポイント使ってね、ということです。。。(先に言えよ)
WEBサイトなどからファイルの直リンクを設置する場合、管理画面に提示されたリンクURLではなく、
https://storage.googleapis.com/バケット名/ファイル名
の形式のURLにしてね、ということです。
Firebase はOK
また Cloud Storage は Firebase からも利用することができます。
この場合は firebase の管理画面で生成されるURLで問題ありません。
ファイルの詳細画面でファイルのリンクが表示されていると思います。
クリックすると別タブでファイルが開きますが、この時のURLを SafariやEdgeなどで開いてもそのまま問題なく表示できます。
ちなみに以下のような形式になってます。
https://firebasestorage.googleapis.com/v0/b/プロジェクト名.appspot.com/o/バケット名/ファイル名?alt=xxxx&token=xxxxx
firebaseの場合は最初からちゃんと googleapis.com
ドメインを使ったURLを生成してくれています。
というわけで
Cloud Storage のリンクURLはそのまま使っちゃダメ!