檔案存取權限包括私人、公用讀取和公用讀寫三種。本文介紹如何擷取檔案(Object)的存取權限。
注意事項
使用本文樣本前您需要先通過自訂網域名、STS等方式建立OSSClient,具體請參見如何初始化Android端OSSClient執行個體。
檔案存取權限
檔案存取權限包括如下三種:
檔案存取權限 | 描述 |
私人 | 檔案的擁有者和授權使用者有該檔案的讀寫權限,其他使用者沒有許可權操作該檔案。 |
公用讀取 | 檔案的擁有者和授權使用者有該檔案的讀寫權限,其他使用者只有檔案的讀許可權。請謹慎使用該許可權。 |
公用讀寫 | 所有使用者都有該檔案的讀寫權限。請謹慎使用該許可權。 |
範例程式碼
以下代碼用於擷取examplebucket儲存空間中exampleobject.txt檔案的存取權限。
// 依次填寫Bucket名稱(例如examplebucket)和Object完整路徑(例如exampledir/exampleobject.txt)。Object完整路徑中不能包含Bucket名稱。
GetObjectACLRequest request = new GetObjectACLRequest("examplebucket", "exampledir/exampleobject.txt");
// Android SDK不支援設定檔案的存取權限,僅支援擷取檔案的存取權限。
// 以下代碼用於擷取檔案的存取權限。
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) {
// 請求異常。
if (clientException != null) {
// 用戶端異常,例如網路異常等。
clientException.printStackTrace();
}
if (serviceException != null) {
// 服務端異常。
Log.e("ErrorCode", serviceException.getErrorCode());
Log.e("RequestId", serviceException.getRequestId());
Log.e("HostId", serviceException.getHostId());
Log.e("RawMessage", serviceException.getRawMessage());
}
}
});
相關文檔
關於擷取Object存取權限的API介面說明,請參見GetObjectACL。
關於初始化OSSClient,請參見如何初始化Android端OSSClient執行個體。