使用Node.js客户端在gcloud存储中创建和共享Bucket
我需要使用Node.js客户端在gcloud存储中创建并共享一个bucket 这是我的密码使用Node.js客户端在gcloud存储中创建和共享Bucket,node.js,google-cloud-storage,gcloud,gcloud-node,Node.js,Google Cloud Storage,Gcloud,Gcloud Node,我需要使用Node.js客户端在gcloud存储中创建并共享一个bucket 这是我的密码 Bucket.createNewBucket = function (request, callBack) { // code for create a new bucket var bucketName = request.body.bucketName; gcs.createBucket(bucketName, function (err, bucket) {
Bucket.createNewBucket = function (request, callBack) {
// code for create a new bucket
var bucketName = request.body.bucketName;
gcs.createBucket(bucketName, function (err, bucket) {
if (!err) {
console.log("created bucket successfully");
var bucketadded = gcs.bucket(bucketName);
bucketadded.acl.add({
entity: 'testmail@gmail.com',
role: 'READER'
}, function (err, aclObject) {
if (!err) {console.log("acl added successfully");
}else{
console.log(err);
}
});
callBack(null, true);
return;
} else {
callBack("Error with bucket creation. Error: " + err, true);
return;
}
});
};
使用这段代码,我成功地在谷歌存储中创建了一个bucket。但我无法将acl权限添加到bucket中
我犯了这样的错误
{ [ApiError: Invalid Value]
errors: [ { domain: 'global', reason: 'invalid', message: 'Invalid Value' } ],
code: 400,
message: 'Invalid Value',
response: undefined }
用这个
entity: 'user-testmail@gmail.com'
而不是
entity: 'testmail@gmail.com'
实体比电子邮件地址更复杂。在这种情况下,正确的值应该是“user”-manafcj@gmail.com". 还有其他类别的群体,以及一些特殊的价值观,如“诱惑者”
这里有文档记录:在bucket CreationTanks brandon之后creationi需要添加权限的时候,向bucket添加acl权限。这是我的错。bcse,该文档包含完整的图片