使用云函数返回我的图像的signedUrl列表。现在,我收到错误SigningError: Cannot sign data without
client_email .
我尝试仅执行const storage = new Storage();
而未添加配置对象,但仍然遇到相同的错误。我什至尝试过:
const storage = new Storage({
projectId: projectId,
keyFilename:'./cert.json' //my service account file
});
但是从此我什么也没得到,甚至没有错误消息。我的函数只是返回一个空数组[]
如何配置内容,以便可以重新获得签名的URL?
const functions = require('firebase-functions');
const admin = require('firebase-admin');
import * as _ from 'lodash'
const {Storage} = require('@google-cloud/storage');
const projectId = 'myProject';
const storage = new Storage({
projectId: projectId,
});
export const getPublicURLS = async()=>{
let bucketName='myBucket.appspot.com'
const [files] = await storage.bucket(bucketName).getFiles({prefix:'myTestPrefix'});
files.shift(); //remove the folder object
let list = await _.map(files, (file)=>{
return file.getSignedUrl({
action: 'read',
expires: '03-17-2025'
}).then(results => {
console.log(results);
const url = results[0];
return url;
})
.catch(err => {
console.error('ERROR:', err);
});
})
return list;
}