Object access control lists (ACLs) include private, public read, and public read/write. This topic describes how to query the ACL of an object.

Object ACLs

The following table describes the three types of object ACLs.

Object ACLDescription
PrivateOnly the object owner and authorized users have read and write permissions on the object. Other users cannot access the object.
Public readOnly the object owner and authorized users have read and write permissions on the object. Other users have only read permissions on the object. Exercise caution when you set the ACL of the object to this value.
Public read/writeAll users have read and write permissions on the object. Exercise caution when you set the ACL of the object to this value.

Sample code

The following code provides an example on how to query the ACL of an object named exampleobject.txt in a bucket named examplebucket:

// Specify the bucket name such as examplebucket and the full path of the object such as exampledir/exampleobject.txt. The full path cannot contain the bucket name. 
GetObjectACLRequest request = new GetObjectACLRequest("examplebucket", "exampledir/exampleobject.txt");
// Query the ACL of the object. 
oss.asyncGetObjectACL(request, new OSSCompletedCallback<GetObjectACLRequest, GetObjectACLResult>() {
    @Override
    public void onSuccess(GetObjectACLRequest request, GetObjectACLResult result) {
        Log.d("GetObjectACL", "Success!");
        Log.d("ObjectAcl", result.getObjectACL());
        Log.d("Owner", result.getObjectOwner());
        Log.d("ID", result.getObjectOwnerID());
    }

    @Override
    public void onFailure(GetObjectACLRequest request, ClientException clientException, ServiceException serviceException) {
        // Handle request exceptions. 
        if (clientException != null) {
            // Handle client-side exceptions such as network errors. 
            clientException.printStackTrace();
        }
        if (serviceException != null) {
            // Handle server-side exceptions. 
            Log.e("ErrorCode", serviceException.getErrorCode());
            Log.e("RequestId", serviceException.getRequestId());
            Log.e("HostId", serviceException.getHostId());
            Log.e("RawMessage", serviceException.getRawMessage());
        }
    }
});

References

For more information about the API operation that you can call to query the ACL of an object, see GetObjectACL.