Setting an Object ACL
API Description
You can use this API to set the ACL for an object in a specified bucket.
Method Definition
func (obsClient ObsClient) SetObjectAcl(input *SetObjectAclInput) (output *BaseModel, err error)
Method Definition If a Signed URL Is Used
func (obsClient ObsClient) SetObjectAclWithSignedUrl(signedUrl string, actualSignedRequestHeaders http.Header, data io.Reader) (output *BaseModel, err error)
Request Parameter
| Field | Type | Optional or Mandatory |
|---|---|---|
| input | Mandatory |
Returned Result
| Field | Type |
|---|---|
| output | |
| err | error |
Sample Code
func main() { input := &obs.SetObjectAclInput{} input.Bucket = "bucketname" input.Key = "objectkey" input.Owner.ID = "ownerid" var grants [3]obs.Grant grants[0].Grantee.Type = obs.GranteeGroup grants[0].Grantee.URI = obs.GroupAuthenticatedUsers grants[0].Permission = obs.PermissionRead grants[1].Grantee.Type = obs.GranteeUser grants[1].Grantee.ID = "userid" grants[1].Permission = obs.PermissionWrite grants[2].Grantee.Type = obs.GranteeUser grants[2].Grantee.ID = "userid" grants[2].Permission = obs.PermissionRead input.Grants = grants[0:3] output, err := obsClient.SetObjectAcl(input) if err == nil { fmt.Printf("RequestId:%s\n", output.RequestId) } else { if obsError, ok := err.(obs.ObsError); ok { fmt.Println(obsError.Code) fmt.Println(obsError.Message) } else { fmt.Println(err) } } }
Last Article: Obtaining Object Metadata
Next Article: Obtaining an Object ACL
Did this article solve your problem?
Thank you for your score!Your feedback would help us improve the website.