

**注意**: 新しい顧客のサインアップとアカウントのアップグレードは、Amazon WorkDocs では利用できなくなりました。移行手順については、[WorkDocs からデータを移行する方法](https://aws.amazon.com/blogs/business-productivity/how-to-migrate-content-from-amazon-workdocs)」を参照してください。

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# IAM ユーザー認証情報を使用して WorkDocs に接続し、ユーザーをクエリする
<a name="connect-workdocs-iam"></a>

次のコードは、IAM ユーザーの API 認証情報を使用して API 呼び出しを行う方法を示しています。この場合、API ユーザーと WorkDocs サイトは同じ AWS アカウントに属します。

**注記**  
セキュリティを強化するために、可能な限り IAM ユーザーではなくフェデレーティッドユーザーを作成してください。

IAM ユーザーに適切な IAM ポリシーを通じて WorkDocs API アクセスが付与されていることを確認します。

コード例は、ユーザーを検索し、ユーザーにメタデータを取得するため、[describeUsers](https://docs.aws.amazon.com/workdocs/latest/APIReference/API_DescribeUsers.html) API を使用します。ユーザーメタデータは、名、姓、ユーザー ID およびルートフォルダ ID などの詳細を提供します。ルートフォルダ ID は、ユーザーに代わってコンテンツのアップロードまたはダウンロード操作を行う場合に特に役立ちます。

このコードでは、WorkDocs Organization ID を取得する必要があります。

 AWS コンソールから WorkDocs 組織 ID を取得するには、次の手順に従います。

**組織 ID を取得するには**

1. [AWS Directory Service コンソール](https://console.aws.amazon.com/directoryservicev2/)のナビゲーションペインで、**ディレクトリ**を選択します。

1. 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());
    }
  }
}
```