We announced
Listing User Docs
The following example lists the documents for the user whose 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.
import ( "os" "github.com/aws/aws-sdk-go/aws/session" "github.com/aws/aws-sdk-go/service/workdocs" "flag" "fmt" )
Get the user and organization ID from the command line. If either is missing, print an error message and quit.
userPtr := flag.String("u", "", "User for whom info is retrieved") orgPtr := flag.String("o", "", "Your organization ID") flag.Parse() if *userPtr == "" || *orgPtr == "" { flag.PrintDefaults() os.Exit(1) }
Create a session and Amazon WorkDocs client.
sess := session.Must(session.NewSessionWithOptions(session.Options{ SharedConfigState: session.SharedConfigEnable, })) svc := workdocs.New(sess)
Get the root folder for the user.
input := new(workdocs.DescribeUsersInput) input.OrganizationId = orgPtr input.Query = userPtr result, err := svc.DescribeUsers(input) if err != nil { fmt.Println("Error getting user info", err) return } var folderID = "" if *result.TotalNumberOfUsers == 1 { for _, user := range result.Users { folderID = *user.RootFolderId }
Run the DescribeFolderContents
method and display the name, size, and
last modified information for each document.
result, err := svc.DescribeFolderContents(&workdocs.DescribeFolderContentsInput{FolderId: &folderID}) if err != nil { fmt.Println("Error getting docs for user", err) return } fmt.Println(*userPtr + " docs:") fmt.Println("") for _, doc := range result.Documents { fmt.Println(*doc.LatestVersionMetadata.Name) fmt.Println(" Size: ", *doc.LatestVersionMetadata.Size, "(bytes)") fmt.Println(" Last modified:", *doc.LatestVersionMetadata.ModifiedTimestamp) fmt.Println("") }
See the complete example