【发布时间】:2018-02-24 03:55:37
【问题描述】:
我正在创建一个存储桶并通过我的 node.js API 将 index.html 文件添加到存储桶中。但是,当我尝试访问该网站时,它给了我这个错误。
AccessDeniedAccess denied.
我做了一些研究,发现 this article 关于运行终端代码以更新 Google Cloud Bucket 上的安全首选项。但是,我的应用程序的性质使我无法在每次创建存储桶时通过终端手动执行此操作。
如何为创建的每个存储桶自动完成此操作?
这是用于创建存储桶的 Node.Js 代码。
exports.createDefaultBucket = functions.https.onRequest((req, res) => {
cors(req, res, () => {
res.header("Access-Control-Allow-Origin", "*");
var bucketName = req.body.siteName;
var defaultIndex = '';
var defaultCss = '';
if(!bucketName) {
res.send('Bucket name is required!');
} else {
storage.createBucket(bucketName).then(() => {
storage.bucket(bucketName).makePublic().then((response) => {
console.log(response);
storage.bucket(bucketName).upload(defaultIndex).then(() => {
//storage.bucket(bucketName).upload(defaultCss).then(() => {
res.send(bucketName+' was created, made public, has default index file and index location is set!');
//})
})
}).catch(err => {
res.send(err);
})
}).catch(err => {
res.send(err);
});
}
});
});
【问题讨论】:
标签: node.js google-cloud-platform google-cloud-storage