该问题通常是由于没有正确的访问权限导致的。因此,解决此问题的方法是需要在您的AWS IAM用户或角色策略中添加GetObjectAcl操作的权限。来看一个示例:
var AWS = require('aws-sdk');
var s3 = new AWS.S3();
var params = {
Bucket: "myBucket",
Key: "myObjectKey"
};
s3.getObjectAcl(params, function(err, data) {
if (err) console.log(err, err.stack);
else console.log(data);
});
如果在控制台中为IAM用户或角色添加权限出现问题,请尝试直接编辑用户或角色策略,并添加以下内容:
{ "Effect": "Allow", "Action": "s3:GetObjectAcl", "Resource": "arn:aws:s3:::myBucket/*" }
请注意,上述代码中的“myBucket”和“myObjectKey”应替换为您实际使用的Bucket名称和对象键。
通过这些更改,您应该能够成功执行GetObjectAcl操作并获取存储桶对象的访问控制列表。