问题描述
请求中x-oss-object-acl
请求头缺失或值为空。
问题原因
比如您发起了PutObjectAcl请求,请求通过x-oss-object-acl
请求头来指定目标Object的访问权限,如果请求中缺少该请求头,或该请求头的参数为空字符串,就会导致接口报错。
问题示例
比如您发起了如下请求:
PUT /test-object?acl HTTP/1.1
x-oss-object-acl:
Host: oss-example.oss-cn-hangzhou.aliyuncs.com
Date: Wed, 29 Apr 2015 05:21:12 GMT
Authorization: OSS qn6q**************:77Dv****************
上述请求中x-oss-object-acl
请求头的值是空字符串,这不是一个合法的ACL名称,所以接口返回该错误。
解决方案
检查请求中x-oss-object-acl
请求头的值是否合法,目前支持的值有:
default(默认):Object遵循所在存储空间的访问权限。
private:Object是私有资源。只有Object的拥有者和授权用户有该Object的读写权限,其他用户没有权限操作该Object。
public-read:Object是公共读资源。只有Object的拥有者和授权用户有该Object的读写权限,其他用户只有该Object的读权限。请谨慎使用该权限。
public-read-write:Object是公共读写资源。所有用户都有该Object的读写权限。请谨慎使用该权限。
相关文档
文档内容是否对您有帮助?