private static Dictionary<String, String> GetDocumentDownloadInfo(AmazonWorkDocsClient wdClient, String orgId, String user, String docName) { var documentInfoMap = new Dictionary<String, String>(); var userFolderId = GetUserFolderId(wdClient, orgId, user); if(!String.IsNullOrEmpty(userFolderId)) { var wdDescribeFolderContentsRequest = new DescribeFolderContentsRequest() { FolderId = userFolderId }; String marker = null; bool docNameFound = false; do { wdDescribeFolderContentsRequest.Marker = marker; var result = wdClient.DescribeFolderContents(wdDescribeFolderContentsRequest); foreach(var document in result.Documents) { if(document.LatestVersionMetadata.Name == docName) { documentInfoMap.Add("documentId", document.Id); documentInfoMap.Add("versionId", document.LatestVersionMetadata.Id); docNameFound = true; break; } } marker = result.Marker; } while (!docNameFound && String.IsNullOrEmpty(marker)); } else Console.WriteLine("Could not get user folder"); return documentInfoMap; }
public static void Sample() { // Based on WorkDocs dev guide code at http://docs.aws.amazon.com/workdocs/latest/developerguide/connect-workdocs-role.html var wdClient = new AmazonWorkDocsClient(region: RegionEndpoint.USWest2); String orgId = "d-123456789c"; String userEmail = "*****@*****.**"; String userFolderId = GetUserFolderId(wdClient, orgId, userEmail); var wdDescribeFolderContentsRequest = new DescribeFolderContentsRequest() { FolderId = userFolderId }; // Get all of the folders var wdUserDocuments = new List <DocumentMetadata>(); String marker = null; do { wdDescribeFolderContentsRequest.Marker = marker; var result = wdClient.DescribeFolderContents(wdDescribeFolderContentsRequest); wdUserDocuments.AddRange(result.Documents); marker = result.Marker; } while (String.IsNullOrEmpty(marker)); Console.WriteLine("Docs for user {0}:", userEmail); foreach (var document in wdUserDocuments) { var md = document.LatestVersionMetadata; Console.WriteLine("Name: {0}", md.Name); Console.WriteLine("Size (bytes): {0}", md.Size); Console.WriteLine("Last modified: {0}", md.ModifiedTimestamp); Console.WriteLine("Doc ID: {0}", document.Id); Console.WriteLine(); } }