Menu
AWS SDK for Go
Developer Guide

Listing Users

The following example lists the names of all users, or lists additional details about a user if a user name is specified on the command line. Choose Copy to save the code locally, or see the link to the complete example at the end of this topic.

Import the following Go packages.

Copy
import ( "flag" "fmt" "github.com/aws/aws-sdk-go/aws/session" "github.com/aws/aws-sdk-go/service/workdocs" )
  • flag is for getting user input, in this case the name of the user

  • fmt is for formatting output

  • session is for creating a session

  • workdocs is for using the WorkDocs APIs

Create a session and Amazon WorkDocs client.

Copy
sess, err := session.NewSession(&aws.Config{ Region: aws.String("us-west-2")}, ) // Create a Workdocs service client. svc := workdocs.New(sess)

Create the input arguments for the DescribeUsers method and add your organization ID.

Copy
input := new(workdocs.DescribeUsersInput) // Replace with your organization ID org_id := "d-123456789c" input.OrganizationId = &org_id

If we have a user name, add that to the input arguments so we only get information about that user.

Copy
user_ptr := flag.String("u", "", "User for whom info is retrieved") flag.Parse() // Show all users if we don't get a user name if *user_ptr == "" { fmt.Println("Getting info about all users") } else { fmt.Println("Getting info about user " + *user_ptr) input.Query = user_ptr }

Run the DescribeUsers method and display the information for the user or all users.

Copy
result, err := svc.DescribeUsers(input) if err != nil { fmt.Println("Error getting user info", err) return } if *user_ptr == "" { fmt.Println("Found", *result.TotalNumberOfUsers, "users") fmt.Println("") } for _, user := range result.Users { fmt.Println("Username: " + *user.Username) if *user_ptr != "" { fmt.Println("Firstname: " + *user.GivenName) fmt.Println("Lastname: " + *user.Surname) fmt.Println("Email: " + *user.EmailAddress) fmt.Println("Root folder " + *user.RootFolderId) } fmt.Println("") }

See the complete example on GitHub.