【问题标题】:firebase cloud storage APIs in official document aren't working correctly官方文档中的 firebase 云存储 API 无法正常工作
【发布时间】:2018-08-08 00:21:00
【问题描述】:

起初,我使用 npm 初始化项目。

npm init
npm install --save firebase

之后,我编写了以下代码并使用 Node.js 稳定版(v8.9.4)执行。

const firebase = require('firebase');

const config = {
  apiKey: '<API_KEY>',
  authDomain: '<MY_PROJECT>.firebaseapp.com',
  databaseURL: 'https://<MY_PROJECT>.firebaseio.com/',
  storageBucket: 'gs://<MY_PROJECT>.appspot.com/'
}

firebase.initializeApp(config);
const storage = firebase.storage();

那么会出现如下错误:

TypeError: firebase.storage is not a function
    at Object.<anonymous> (/Users/myuser/sandbox/google/storage_sample/index.js:12:26)
    at Module._compile (module.js:643:30)
    at Object.Module._extensions..js (module.js:654:10)
    at Module.load (module.js:556:32)
    at tryModuleLoad (module.js:499:12)
    at Function.Module._load (module.js:491:3)
    at Function.Module.runMain (module.js:684:10)
    at startup (bootstrap_node.js:187:16)
    at bootstrap_node.js:608:3

我参考了firebase官方文档。(https://firebase.google.com/docs/storage/web/create-reference)

如果我使用“firebase-admin”,就没有问题,而且它的工作原理如下。

const admin = require('firebase-admin');
var serviceAccount = require('./AUTH_FILE.json');

admin.initializeApp({
  credential: admin.credential.cert(serviceAccount),
  databaseURL: "https://<MYPROJECT>.firebaseio.com",
  storageBucket: '<MYPROJECT>.appspot.com/'
});

const storage = admin.storage();
const bucket = storage.bucket();

bucket.
  getFiles().then(results => {
    const files = results[0];
    console.log("Files:");
    files.forEach(file => {
      console.log(file.name);
    });
  }).catch(err => {
    console.error("Error:", err);
  });

是使用“firebase-admin”在 javascript 中访问云存储的唯一方法吗? 还是我的代码有错误?

【问题讨论】:

    标签: node.js firebase firebase-storage


    【解决方案1】:

    如果您在 node.js 上运行,则正确的库是 firebase-admin,正如您所发现的那样。

    Web SDK 是用于在浏览器中运行的,你没有这样做。

    【讨论】:

      猜你喜欢
      • 2020-02-26
      • 2020-05-18
      • 2020-02-15
      • 2016-12-05
      • 1970-01-01
      • 2019-07-24
      • 2021-09-13
      • 2016-07-17
      • 2021-06-02
      相关资源
      最近更新 更多