403尝试通过Firebase Cloud功能上传到Firebase存储

时间:2018-06-27 16:43:31

标签: node.js firebase google-cloud-functions firebase-storage

尝试将文件上传到存储设备时收到以下错误。

[ { domain: 'global',
   reason: 'forbidden',
   message: '<name>@<app>.iam.gserviceaccount.com does not have storage.objects.create access to <app>.appspot.com/temp.txt.' } ]

这是我上传的方式

const serviceAccount = require('./serviceaccount.json')
admin.initializeApp({
    credential: admin.credential.cert(serviceAccount),
    storageBucket: "<app>.appspot.com"
})

const storage = admin.storage()
storage.bucket().upload('<my file path>')

我的服务帐户在IAM中确实具有所有者和存储管理员访问权限。因此,我的问题是我在做错什么,和/或我需要给我的服务帐户什么访问权限,以便能够从Firebase Functions将文件上传到Firebase Storage?

1 个答案:

答案 0 :(得分:1)

由于道格·史蒂文森(Doug Stevenson)的评论,为我解决此问题的方法不是指定服务帐户,而是使用默认帐户。

admin.initializeApp()