請注意:Amazon WorkDocs 不再提供新客戶註冊和帳戶升級。在此處了解遷移步驟:如何從 Amazon WorkDocs 遷移資料
本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 IAM 使用者登入資料和使用者查詢連線至 Amazon WorkDocs
下列程式碼說明如何使用 IAM 使用者的 API 登入資料來進行 API 呼叫。在此情況下,API 使用者和 Amazon WorkDocs 網站屬於同一個 AWS 帳戶。
注意
為了提高安全性,請盡可能建立聯合身分使用者,而不是 IAM 使用者。
確定 IAM 使用者已透過適當的 IAM 政策獲得 Amazon WorkDocs API 存取的許可。
程式碼範例使用 DescribeUsers API 來搜尋使用者,並取得使用者的中繼資料。使用者中繼資料提供詳細資訊,例如名字、姓氏、使用者 ID 和根資料夾 ID。如果您想要代表使用者執行任何內容上傳或下載操作,根資料夾 ID 特別有用。
程式碼要求您取得 Amazon WorkDocs Organization ID。
請依照下列步驟,從 AWS 主控台取得 Amazon WorkDocs 組織 ID:
取得組織 ID
-
在 AWS Directory Service 主控台
導覽窗格中,選擇 Directories (目錄)。 -
請注意對應至 Amazon WorkDocs 網站的目錄 ID 值。這是網站的組織 ID。
下列範例示範如何使用 IAM 登入資料進行 API 呼叫。
import java.util.ArrayList; import java.util.List; import com.amazonaws.auth.AWSCredentials; import com.amazonaws.auth.AWSStaticCredentialsProvider; import com.amazonaws.auth.BasicAWSCredentials; import com.amazonaws.regions.Regions; import com.amazonaws.services.workdocs.AmazonWorkDocs; import com.amazonaws.services.workdocs.AmazonWorkDocsClient; import com.amazonaws.services.workdocs.model.DescribeUsersRequest; import com.amazonaws.services.workdocs.model.DescribeUsersResult; import com.amazonaws.services.workdocs.model.User; public class GetUserDemo { public static void main(String[] args) throws Exception { AWSCredentials longTermCredentials = new BasicAWSCredentials("
accessKey
", "secretKey
"); AWSStaticCredentialsProvider staticCredentialProvider = new AWSStaticCredentialsProvider(longTermCredentials); AmazonWorkDocs workDocs = AmazonWorkDocsClient.builder().withCredentials(staticCredentialProvider) .withRegion(Regions.US_WEST_2).build(); List<User> wdUsers = new ArrayList<>(); DescribeUsersRequest request = new DescribeUsersRequest(); // The OrganizationId used here is an example and it should be replaced // with the OrganizationId of your WorkDocs site. request.setOrganizationId("d-123456789c
"); request.setQuery("joe
"); String marker = null; do { request.setMarker(marker); DescribeUsersResult result = workDocs.describeUsers(request); wdUsers.addAll(result.getUsers()); marker = result.getMarker(); } while (marker != null); System.out.println("List of users matching the query string:joe
"); for (User wdUser : wdUsers) { System.out.printf("Firstname:%s | Lastname:%s | Email:%s | root-folder-id:%s\n", wdUser.getGivenName(), wdUser.getSurname(), wdUser.getEmailAddress(), wdUser.getRootFolderId()); } } }