全部文档
当前文档

暂无内容

如果没有找到您期望的内容,请尝试其他搜索词

文档中心

管理存储空间访问权限(Android)

最近更新时间:2023-01-12 11:52:17

Get Bucket ACL 获取空间ACL

以下代码用于获取存储空间访问控制列表ACL:

client.getBucketACL("<bucketName>", new GetBucketACLResponceHandler() {

    @Override
    public void onSuccess(int statesCode, Header[] responceHeaders, AccessControlPolicy accessControlPolicy) {
    	// 请求成功 通过accessControlPolicy可以得到当前存储空间的权限信息
      	Owner owner = accessControlPolicy.getOwner();
       	HashSet<Grant> grants = accessControlPolicy.getAccessControlList().getGrants();
    }

    @Override
    public void onFailure(int statesCode, Ks3Error error, Header[] responceHeaders, String response, Throwable paramThrowable) {
      // 请求失败
    }
});

注 :此接口只有Bucket的所有者才有权限操作。

Put Bucket ACL 设置ACL

PutBucketAcl接口用于设置或修改存储空间(Bucket)的访问权限(ACL)。

client.putBucketACL("<bucketName>", CannedAccessControlList.PublicRead, new PutBucketACLResponseHandler() {
    @Override
    public void onFailure(int statesCode, Ks3Error error, Header[] responceHeaders, String response, Throwable paramThrowable) {
        //请求失败
    }

    @Override
    public void onSuccess(int statesCode, Header[] responceHeaders) {
	//请求成功
    }
});

// 当然也可以通过AccessControlList进行更精细的设置
PutBucketACLRequest request = new PutBucketACLRequest("<bucketName>");
AccessControlList acl = new AccessControlList();

// 被授权者的id和name、权限等信息的设置
request.setAccessControlList(acl) ;
AccessControlList acl = new AccessControlList();

client.putBucketACL(request, new PutBucketACLResponseHandler() {

    @Override
    public void onSuccess(int statesCode,Header[] responceHeaders) {
     	//请求成功
    }

    @Override
    public void onFailure(int statesCode, Ks3Error error,Header[] responceHeaders, String response,Throwable paramThrowable) {
	//请求失败
    }
});

注 :

  • 此接口的请求者需要对Bucket有写入ACL的权限,PutBucketAcl为覆盖语义,即新传入的ACL将覆盖原有的ACL;如果指定要设置的Bucket不存在,调用此接口时statesCode将返回404,response里面对应的错误码是NoSuchBucket。

  • 在返回的ACL信息中FULL_CONTROL也即 Private

文档导读
纯净模式常规模式

纯净模式

点击可全屏预览文档内容
文档反馈