尝试将文件上传到存储设备时收到以下错误。
[ { 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?
答案 0 :(得分:1)
由于道格·史蒂文森(Doug Stevenson)的评论,为我解决此问题的方法不是指定服务帐户,而是使用默认帐户。
admin.initializeApp()