firebase - 我可以在不需要令牌的情况下公开 firebase 文件 URL 吗?
问题描述
我正在使用 firebase 允许用户将他们的文件上传到存储桶。我正在使用 getDownLoadURL() 来获取公开可用的 URL……但是,它带有一个嵌入式令牌以允许访问该文件。
在我的同一个应用程序中,我使用的是谷歌文档查看器,它需要一个 URL 来预览文档。不幸的是,Google Doc Viewer 不适用于带有嵌入式令牌的 Firebase URL。
在 Google 控制台中,在单个文件上,我单击将其公开。在这种情况下,现在可以通过https://storage.googleapis.com/ / 格式访问该 URL……而且我不需要使用效果很好的令牌。
所以,我想做的是在将文件上传到firebase时标记/公开文件。我已经查看了 firebase 文档,似乎没有像 Google API 上那样的 makePublic() 方法。
有没有办法可以在上传期间将文件标记为公开,以便无需任何令牌即可访问它?
另一个解决方案是我可以将存储桶更新为可访问,但这使得它完全可以在https://storage.googleapis.com/上浏览,我不想这样做。
解决方案
客户端 Firebase API 对存储桶中公共内容的底层 Google Cloud Platform 配置一无所知。所以这不会是一个选择。
上传后,您将不得不涉及一些后端代码来更改对象的配置。您可以通过 Cloud Functions(或您想要的任何后端)设置自己的 API 端点,以运行其中一个Google Cloud Storage 服务器 SDK将文件设置为公开。(您可能还需要某种方式来授权调用您的 API 的用户应该能够进行此更改。)
推荐阅读
- android - 如何以编程方式将社交媒体帖子作为图像保存到图库
- azure - 无法在 Azure APIM 中保存策略
- java - 我的 spring-app 没有收到我的 GET
- amazon-web-services - 具有 Alexa 技能的 AVS
- php - 带有面包屑的 Laravel 刀片模板
- angular - Angular 2+ - 将 HTML 内容注入 Bootstrap 模式中的组件
- c - 未定义对“check_nan”的引用
- mysql - SQOOP QUERY:连接到远程服务器 MySQL 时出现问题
- python - 熊猫:如何按一列的日期对数据框行进行排序
- cmake - 让 cmake 将目录附加到构建 RPATH