私はここで途方に暮れています。私のノード コードはファイルを gcloud Storage に正常にアップロードしましたが、ファイルを公開したり、ACL を変更したりすることさえできないようです。
実際には、ファイルは gcloud ストレージに書き込まれましたが、同じファイルを公開することはできません。
返されるエラーは
{ [ApiError: 不十分な権限] エラー: [ { ドメイン: 'global'、理由: 'insufficientPermissions'、メッセージ: '不十分な権限' } ]、コード: 403、メッセージ: '不十分な権限'、応答: 未定義 }
これが私のコードです(このコードはSTREAM ergo stdout.pipe内にあると仮定します)
var gcs = GLOBAL.gcloud.storage();
var bucket = gcs.bucket(GLOBAL.storage_names.products);
var file = bucket.file('images/'+targetValue+'_'+filename);
stdout.pipe(file.createWriteStream())
.on('error', function(err) {
var msg = {
"status":"Error"
"err":err
};
console.log(msg);
})
.on('finish', function() {
// The file upload is complete.
console.log("Successfully uploaded "+targetValue+'_'+filename);
file.acl.add({
entity: 'allUsers',
role: gcs.acl.READER_ROLE
}, function(err, aclObject) {
if(err==null)
{
//stream upload file
file.makePublic();
}else{
console.log("ERROR in ACL Adding");
console.log(err)
}
});
file.makePublic(function(err, apiResponse) {
if(err==null)
{
console.log("File made public");
}else{
console.log("make public error");
console.log(err);
}
});
});