如何通过 API 将文件上传到 firebase 存储并使其对所有经过身份验证的用户都可读?

How to upload file to firebase storage through API and make it readable to all authanticated users?

我想使用 googleCloudStorageR R 包中的 gcs_upload 函数将音频文件上传到 firebase 存储。这些文件需要通过 firebase 身份验证的每个人访问。

如果我转到 Firebase 存储控制台并手动上传文件,它会自动创建一个访问令牌并生成一个 link 来访问文件,在文件名下(见下图)。

当我通过 googleCloudStorageR 上传时,它不会生成访问令牌,也不会 link 访问文件。

  1. 如何以任何经过身份验证的人都可以访问的方式上传(不是手动)?
  2. 如何更改(通过控制台以外的 API)上传文件的访问控制?

只有 Firebase 客户端 SDK 和 Firebase 控制台提供生成所谓的下载 URLs 的选项。大多数服务器端 SDK 或 REST API 中不存在此选项。

您的两种选择是为您的上传生成一个长期签名的 URL(大多数服务器端 SDK 都支持),或者在文件的元数据中明确设置一个访问令牌作为此处显示:。此处的代码示例适用于 Node.js,但该方法适用于所有允许您设置自定义元数据的 SDK。